Оператор равенства равен ==
в C # и =
в VB.
if ( (a == 0 && b != null) || (a == 1 && c != null) )
statement; // One single statement only
или
if ( (a == 0 && b != null) || (a == 1 && c != null) ) {
statement; // Any number of statements
}
Этот онлайн-инструмент преобразует его в VB для вас:
If (a = 0 AndAlso b IsNot Nothing) OrElse (a = 1 AndAlso c IsNot Nothing) Then
statement
End If
C # &&
переводится как AndAlso
в VB.
C # ||
переводится как OrElse
в VB.
С этими операторами оценка останавливается, как только определяется результат. Это называется оценкой «короткого замыкания». Например. в a && b
результат известен как false
, если a
равен false
, а b
не будет оцениваться. Это особенно важно, когда оценка имеет побочные эффекты, такие как выполнение запросов к базе данных, создание событий или изменение данных. Это также полезно в условиях, подобных этим person != null && person.Name == "Doe"
, где второй выдает исключение, если первый член оценивается как false
.
Эквивалентом булевых операторов VB And
и Or
, которые не используют оценку короткого замыкания, являются &
и |
в C #. Здесь все условия всегда будут оцениваться.
If (a = 0 Or b = 0 And c = 0) Then
statement
End If
if (a = 0 | b = 0 & c = 0) {
statement;
}