VB.NET
C#
运算符的?
等价物是什么?
例如,如何在VB.NET
中编写以下代码?
hp.pt = iniFile.GetValue("System", "PT").ToUpper().Equals("H") ? PT.PA : PT.SP
答案 0 :(得分:10)
历史上,IIf
通常用于此 - 但不使用短路,因此并不完全相同。但是,there is now a 3-part If
:
hp.pt = If(iniFile.GetValue("System", "PT").ToUpper().Equals("H"), PT.PA, PT.SP)
使用短路,因此与C#中的conditional operator相同。
答案 1 :(得分:2)
您可以使用If operator
hp.pt = If(iniFile.GetValue("System", "PT").ToUpper().Equals("H"), PT.PA, PT.SP)
答案 2 :(得分:2)
尝试使用If
功能,如下所示:
x = If(condition, trueValue, falseValue)
答案 3 :(得分:2)
此问题与已经提出并回答的问题重复:
Is there a conditional ternary operator in VB.NET?
这里:
Dim foo as String = If(bar = buz, cat, dog)