我有一个项目列表,并希望将其中一个属性设置为某个值:
applist.ForEach(Function(x) x.PrePaidTypeID = CInt(DBEnums.PrePaidType.NoPrepay))
...但我们认为这只是一个布尔比较。有没有办法强制VB分配整数值而不是比较它?
答案 0 :(得分:3)
使用Sub lambda而不是Function lambda将起作用。正如你所注意到的那样,只有VS2010才能获得lamba Sub。
另一种解决方案是使用多线lambda。这也仅适用于VS2010。 :(
答案 1 :(得分:1)
我们正在使用VB .NET 9,这似乎是这里的问题。在VB .NET 10中,您可以执行以下操作,根据Google的工作原理:
applist.ForEach(Sub(x) x.PrePaidTypeID = CInt(DBEnums.PrePaidType.NoPrepay))
使用Sub关键字意味着它不必返回值,因此您可以分配。
看起来我们的解决方案是更新项目,或使用常规的For Each循环。