#vb.net #syntax #ternary-operator
#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")
Ответ №1:
Троичный оператор в VB.NET используется следующим образом:
If(<Test Statement>, <Result if True>, <Result if False>)
Так что вы могли бы сделать это:
sb.Append(If(bln, "True", "False"))
Но это был бы лучший способ выполнить то, что вам нужно:
sb.Append(CStr(bln))
Ответ №2:
На языках, основанных на C, он используется как:
String name = (person == null) ? "" : person.Name;
Но в VB.Net это как:
Dim name As String = If(person Is Nothing, "", person.Name)