C#LINQ方法链中赋值的编译器警告?

时间:2013-02-21 00:14:44

标签: c# visual-studio iterator ienumerable

我只是在LINQ方法链中遇到意外的赋值表达式。这导致foreach循环中使用的枚举器(IEnumerable)永远不会进入循环块而不是遍历所需的集合项。以下是用于创建迭代器的错误表达式的简化示例:

itemCollection.Where(theItem => theItem.status = false);

显然,使用像这样的简单LINQ方法链相对容易捕获,但在更复杂的情况下,尤其是涉及由复杂类提供的多个迭代器或迭代器的情况,可能是追逐bug的实时浪费。是否有一个Visual Studio设置标记LINQ方法链中的赋值?

1 个答案:

答案 0 :(得分:1)

ReSharper将此标记为“已分配的值未在任何表达式中使用”。正如Virtlink所指出的,Resharper在对对象字段进行赋值时不会给出错误。我不认为有VS设置,但我很确定你可以写一个插件。