TFS 2010 API - 迭代QueryHistory中返回的更改集列表太慢了
长话短说。分析后,此命令占用处理的0.1%
var ChangesetList = TFSConnection.GetInstance().GetVersionControl().QueryHistory
(Path, VersionSpec.Latest,0, RecursionType.Full, "", null,
VersionSpec.Latest, Int32.MaxValue,true, false);
这一个,65.7%。 (有趣的是,内部的所有处理只消耗3%)
foreach (Changeset changeset in ChangesetList)
我得到我的清单需要几秒钟......
怎么了?为什么在列表中迭代这么慢?
有没有更快的方法来做到这一点?
编辑:另外,为什么我不能直接将其转换为List<Changeset>
?
没有找到相关结果
已邀请:
3 个回复
奥李
的调用返回一个
,所以我假设它就像在LINQ to Objects中一样,一旦迭代IEnumerable(关键字:延迟执行),就会执行实际的查询。 您无法将结果分配给List,因为返回值是非通用版本的
。在结果上调用
或
会返回一个泛型
之后你可以调用
并得到一个
。
迭代
所以它就像foreach并且占用了大部分时间。 我提到的方法是扩展方法,位于System.Linq命名空间中。
献导外拘
貉骂