作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个 LINQ 语句
Dim Demo = From d In DBDataTable.AsEnumerable _
Select id = d.Field(Of Integer)("id"), _
Column = d.Field(Of Object) (_column2), _
Col3 = d.Field(Of Object)(_column3), _
Col4 = IIf(_Col4 <> -1, d.Field(Of Object)(_Col4), Nothing)
最佳答案
[这是问题评论中讨论的摘要。]
您的代码将无法工作,因为 IIf
始终评估 true 和 false 部分。因此,评估 d.Field(Of Object)(_Col4)
如果 _Col4 = -1
将引发异常.
相反,使用 If(condition, true, false)
,它的工作原理类似于 C# 的 condition ? true : false
运算符,并且仅根据条件评估 true 或 false 部分。所以,你的代码应该是:
Dim Demo = From d In DBDataTable.AsEnumerable _
Select id = d.Field(Of Integer)("id"), _
Col2 = d.Field(Of Object)(_column2), _
Col3 = d.Field(Of Object)(_column3), _
Col4 = If(_Col4 <> -1, d.Field(Of Object)(_Col4), Nothing)
关于vb.net - 如何在从 Linq 到数据集的选择期间使用 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1902755/
我是一名优秀的程序员,十分优秀!