加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 07:03:30 所属栏目:百科 来源:网络整理
导读:我只是在LINQ方法链中得到了意外的赋值表达式.这导致foreach循环中使用的枚举器(IEnumerable)永远不会进入循环块而不是遍历所需的集合项.这是用于创建迭代器的错误表达式的简化示例: itemCollection.Where(theItem = theItem.status = false); 显然,使用像
我只是在LINQ方法链中得到了意外的赋值表达式.这导致foreach循环中使用的枚举器(IEnumerable)永远不会进入循环块而不是遍历所需的集合项.这是用于创建迭代器的错误表达式的简化示例:

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

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

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读