VB.NET 中三元运算符语法的问题

ѺȐe*_*llү 0 vb.net syntax ternary-operator

我正在尝试在 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")
Run Code Online (Sandbox Code Playgroud)

ror*_*.ap 5

VB.NET中的三元运算符的使用方式如下:

If(<Test Statement>, <Result if True>, <Result if False>)
Run Code Online (Sandbox Code Playgroud)

所以你可以这样做:

sb.Append(If(bln, "True", "False"))
Run Code Online (Sandbox Code Playgroud)

但这将是完成您需要的更好的方法:

sb.Append(CStr(bln))
Run Code Online (Sandbox Code Playgroud)