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

VB.NET中三元运算符语法的问题,vb.net,syntax,ternary-operator,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") VB.NET中的三元运算符

我试图在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")

VB.NET中的三元运算符的用法如下:

If(<Test Statement>, <Result if True>, <Result if False>)
但这将是一个更好的方式来完成你需要的:

sb.Append(CStr(bln))

在基于C的语言上,它通常类似于:

String name = (person == null) ? "" : person.Name;
但在VB.Net中,它类似于:

Dim name As String = If(person Is Nothing, "", person.Name)
Dim name As String = If(person Is Nothing, "", person.Name)