在调试时打开字典时函数计算超时


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字典时,我收到错误消息:

函数评估

已禁用,因为以前的函数评估超时。必须继续执行才能重新启用函数计算。

为什么这么复杂?

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

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上定义?

最新更新