c# - 如何减少执行时间?

标签 c# linq list c#-4.0 tfs

代码:

testItemList = testResults.Select(item => project.Store.GetWorkItem(item.TargetId)).ToList();

testItemList 是(局部变量)List testItemList

testResults 是(局部变量)WorkItemLinkInfo[] testResults

总共有 610 个工作项。如何减少执行时间?截至目前,执行这行代码需要 20 秒。 如何微调上述代码,以减少执行时间?

最佳答案

Query query = new Query(project.Store, "Select [Title] From WorkItems", testResults.Select(item => item.TargetId).ToArray());
var car = query.BeginQuery();
//Do something else while awaiting server response...
testItemList = query.EndQuery(car);

您的代码对服务器进行了 610 次往返,并下载了每个工作项的每个字段。此代码执行单次往返,并且仅下载标题字段。

请注意,您仍然可以访问 testitemlist 中每个工作项的每个字段,但每次访问未包含在原始查询字符串中的字段都需要另一次往返。

http://msdn.microsoft.com/en-us/library/bb130306.aspx

关于c# - 如何减少执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21777543/

相关文章:

list - 列表中的序言递归,最后一个元素

c# - Linq 设置内部属性的最佳方式

c# - 当 C# 端没有等效值时,我们如何处理 Enum 的反序列化错误?

c# - 有没有办法在 Windows 10 设备上以编程方式启用/禁用(灰色)操作中心中的旋转锁定,而无需重新启动?

c# - 在 linq 中返回选择查询的最佳实践

c# - 从 LINQ 查询语法转换为方法语法

c# - Linq 在列表的每个项目中包含属性

c# - 如何用直接实例分配替换列表项

r - 按最后一个元素匹配向量

javascript - 如何添加带有图像的选项以在页面加载期间进行选择?