关于.NET:vb.net与c#的三元条件运算符

What is the VB.NET equivalent of the C# ? operator?

本问题已经有最佳答案,请猛点这里访问。

C#?运算符相比,VB.NET等价于什么?

例如,以下代码将如何写入VB.NET

1
hp.pt = iniFile.GetValue("System","PT").ToUpper().Equals("H") ? PT.PA : PT.SP

历史上,IIf通常用于这一点,但它不使用短路,因此并不完全相同。然而,现在有一个由3部分组成的If

1
hp.pt = If(iniFile.GetValue("System","PT").ToUpper().Equals("H"), PT.PA, PT.SP)

它确实使用了短路,因此与C中的条件运算符相同。


此问题是已被询问和回答的问题的副本:

在vb.net中有条件三元运算符吗?

在这里:

1
Dim foo as String = If(bar = buz, cat, dog)


尝试使用If函数,如下所示:

1
x = If(condition, trueValue, falseValue)

您可以使用if运算符

1
hp.pt = If(iniFile.GetValue("System","PT").ToUpper().Equals("H"), PT.PA, PT.SP)