我试图在vb.net中使用三元运算符,但要确定要附加到字符串的内容但我遇到语法问题...
为什么第三行会在 ==生成表达式预期错误
时出错Dim sb As New StringBuilder
Dim bln As Boolean
bln == true ? sb.append("True") : sb.Append("False")
' this also doesn't work
bln ? sb.append("True") : sb.Append("False")
答案 0 :(得分:4)
VB.NET中的三元运算符使用如下:
If(<Test Statement>, <Result if True>, <Result if False>)
所以你可以这样做:
sb.Append(If(bln, "True", "False"))
但这将是一种更好的方式来实现您的需求:
sb.Append(CStr(bln))
答案 1 :(得分:1)
在基于C的语言上,它使用如下:
String name = (person == null) ? "" : person.Name;
但在VB.Net中它就像:
Dim name As String = If(person Is Nothing, "", person.Name)