我刚刚被 LINQ 方法链中的一个意外赋值表达式所吸引。这导致在 foreach 循环中使用的枚举器 (IEnumerable) 永远不会进入循环块,而是遍历所需的集合项。这是用于创建迭代器的错误表达式的简化示例:
itemCollection.Where(theItem => theItem.status = false);
显然,使用这样的简单 LINQ 方法链相对容易捕获,但在更复杂的情况下,尤其是那些涉及多个迭代器或由复杂类提供的迭代器的情况下,追踪错误可能会浪费时间。是否有在 LINQ 方法链中标记分配的 Visual Studio 设置?