在调试时打开字典时,函数评估超时

时间:2013-10-25 09:20:06

标签: c# linq

foreach (var distinctPart in distinctParts)
{
    var list = partlist.Where(part =>
    {
        if (part.PartNumber.Equals(distinctPart))
            return true;
        return false;
    }).Select(part =>
    {
        return part.Number;
    }).Distinct();
    int quantity = list.Count();
    hwList[distinctPart] = quantity;
}

当我调试并打开hwList字典时,收到错误消息:

  

功能评估已禁用,因为之前的功能评估已超时。您必须继续执行以重新启用功能评估。

1 个答案:

答案 0 :(得分:0)

为什么这么复杂?

也许您已经可以通过简化此代码来解决问题,如下所示:

foreach (var distinctPart in distinctParts)
{
    var count = partlist.Where(part => part.PartNumber.Equals(distinctPart))                
                       .Select(part => part.Number)
                       .Distinct().Count();
    hwList[distinctPart] = count;
}

顺便说一句,您是否有一个名为PartNumber的属性和另一个Number,都是在Part上定义的?