【发布时间】:2014-09-27 04:55:38
【问题描述】:
你能帮我加速/优化这段代码吗:
var keys = xRoot.Elements("key").Select(key => new { ID = int.Parse(key.Attribute("id").Value), VerificationCode = key.Attribute("verificationCode").Value });
var tasks = keys.Select(key => EveOnlineClient.GetAccountStatusAsync(key.ID, key.VerificationCode));
var tasks2 = keys.Select(key => EveOnlineClient.GetAPIKeyInfoAsync(key.ID, key.VerificationCode).ContinueWith(x =>
{
var characters = x.Result.Characters;
var tasks3 = characters.Select(character => EveOnlineClient.GetCharacterSheetAsync(key.ID, key.VerificationCode, character.ID));
var tasks4 = characters.Select(character => EveOnlineClient.GetSkillInTrainingAsync(key.ID, key.VerificationCode, character.ID));
Task.WaitAll(tasks3.ToArray());
Task.WaitAll(tasks4.ToArray());
}));
await Task.WhenAll(tasks.Concat(tasks2));
【问题讨论】:
-
你做了什么来表明你需要优化这段代码?瓶颈是什么?
-
您好,欢迎来到 StackOverflow!看起来您正在寻求帮助以优化您的代码。您应该在codereview.stackexchange.com 上发布此问题以获取优化帮助。
标签: c# asynchronous win-universal-app