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

没有执行函数(x)的VB.NET Linq表达式?

发布时间:2020-12-17 07:16:00 所属栏目:百科 来源:网络整理
导读:为什么这样按预期工作: list.ForEach(sub(x) x.Name = "New Name") 但这不是: list.ForEach(function(x) x.Name = "New Name") 其他人困惑吗? 解决方法 List(Of T).ForEach将Action(Sub)作为参数,不返回值,而不返回返回值的Func(Function). 在VB中,=符号
为什么这样按预期工作:

list.ForEach(sub(x) x.Name = "New Name")

但这不是:

list.ForEach(function(x) x.Name = "New Name")

其他人困惑吗?

解决方法

List(Of T).ForEach将Action(Sub)作为参数,不返回值,而不返回返回值的Func(Function).

在VB中,=符号是不明确的.它可以用于比较或分配.因此,为了消除语句歧义,x.Name =“New Name”,团队使用指标Sub或Function来确定这是比较还是赋值.在Sub(x)x.Name =“New Name”的情况下,您正在执行赋值,或者将x的Name参数的值设置为“New Name”.在Function(x)x.Name = New“Name”的情况下,如果x的Name参数与“New Name”相同,则进行比较并返回.因此,使用Sub和Function时必须小心.

(编辑:李大同)

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

    推荐文章
      热点阅读