我正在调试一些代码,在这些代码中野生NullReferenceException出现“随机”。异常与foreach一致。集合“ items”不为null。理论上,“值”都不为空。根本不可能。
是否可以在不删除对象的情况下GC删除对象的成员?这是唯一的线索。所以:
可视化情况的示例代码:
if(items.Any(item => item.Condition))
return;
foreach (var value in items.SelectMany(item => item.Values).Distinct())
{
Console.WriteLine(value);
}
我知道我没有提供此问题的背景知识,但我想知道是否甚至可以通过GC进行。