gpt4 book ai didi

vb.net - 这类似于vb.net中的三元运算符吗?

转载 作者:行者123 更新时间:2023-12-04 23:53:16 25 4
gpt4 key购买 nike

我在一些 vb.net 源代码中看到了这个:

Dim sTest As String = "" & drTest("column")

我被告知如果 drTest("column") 什么都不是,那么 sTest 将被赋值为 "",所以它实际上在做:

Dim sTest As String = If("",Nothing,drTest("column"))

我展示的第一种方式有什么缺点?

使用 If 和 IIf 有什么区别?

最佳答案

如果 三元条件运算符。

What is the difference between using If and IIf?

IIf是一个普通的函数,大致实现如下:

Function If(Of T)(condition As Boolean, ifTrue As T, ifFalse As T)
If condition Then Return ifTrue
Return ifFalse
End Function

这意味着无论 condition 的值如何,它的其他两个参数总是被评估。 If 运算符不会发生这种情况。

但您的代码实际上在做一些完全不同的事情:

Dim sTest As String = If("",Nothing,drTest("column"))

这毫无意义,甚至不应该编译(或至少给出警告)。您的第一个代码很好——它始终有效并且没有任何缺点。不清楚第二个代码试图实现什么。

关于vb.net - 这类似于vb.net中的三元运算符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5474228/

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