gpt4 book ai didi

vb.net - 如何在从 Linq 到数据集的选择期间使用 If 语句

转载 作者:行者123 更新时间:2023-12-05 00:07:40 26 4
gpt4 key购买 nike

我有这个 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)

有什么方法可以在 select 中使用 if/iif 吗?

最佳答案

[这是问题评论中讨论的摘要。]

您的代码将无法工作,因为 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com