我有以下代码,我想加快速度:
foreach (var workflow in closedWorkflows)
{
var w = relatedWorkflows.FirstOrDefault(r => r.Fingerprint != workflow.Fingerprint && r.TradeDate == workflow.TradeDate);
if (w != null)
{
relatedWorkflows.Add(workflow);
}
}
relatedWorkflows
和closedWorkflows
是相同类型的对象列表.
我想过在Fingerprint
和TradeDate
上创建具有匿名类或二元组的查找或字典,但一个判断是针对相等的,另一个判断是针对不平等的.
在TradeDate
上创建查找,然后在Fingerprint
上 for each TradeDate
的查找列表创建查找是一个好方法吗?
Updated:
感谢@Dmitry Bychenko.
在我的测试中,差异是41486 ms与26 ms!