我有一个项目的名单,并希望设置其属性之一到一定值:如何在lambda表达式进行赋值操作
applist.ForEach(Function(x) x.PrePaidTypeID = CInt(DBEnums.PrePaidType.NoPrepay))
...但我们认为这只是做了布尔比较。有没有办法强制VB分配整数值而不是比较它?
我有一个项目的名单,并希望设置其属性之一到一定值:如何在lambda表达式进行赋值操作
applist.ForEach(Function(x) x.PrePaidTypeID = CInt(DBEnums.PrePaidType.NoPrepay))
...但我们认为这只是做了布尔比较。有没有办法强制VB分配整数值而不是比较它?
我们使用VB .NET 9,这似乎是这里的问题。在VB .NET 10,你可以做根据谷歌其运作如下:
applist.ForEach(Sub(x) x.PrePaidTypeID = CInt(DBEnums.PrePaidType.NoPrepay))
使用Sub关键字意味着它没有返回值,所以你可以分配。
看起来我们的解决方案是更新项目,或者使用常规For Each循环。
使用Sub lambda来代替函数lambda会起作用。正如你注意到的那样,只有在VS2010中才能得到lamba Sub。
另一种解决方案是使用多行lambda。这也只适用于VS2010。 :(