Изучение примером - терминология (?: и т.д.)

Никогда не предполагайте, что будут работать тривиальные 2 метода строки. Запись быстрого модульного теста является единственным способом предотвратить недостающий пустой тест, неуместный знак "минус" и/или тонкую ошибку обзора от кусания Вас, неизбежно когда у Вас есть еще меньше времени для контакта с ним, чем теперь.

5
задан Rex M 20 October 2009 в 00:59
поделиться

6 ответов

?: - это условный оператор , и лучший способ узнать - спросить здесь!

condition ? first_expression : second_expression;

Если условие истинно, вычисляется первое выражение и становится результатом; если false, второе выражение оценивается и становится результатом. Когда-либо вычисляется только одно из двух выражений.

Это чрезвычайно полезно для удобства чтения присваиваний, когда все выражение относительно короткое:

string name = string.IsNullOrEmpty(user.Nickname) ? user.Fullname : user.Nickname

Это намного проще и быстрее, чем:

string name = user.Fullname;
if(!string.IsNullOrEmpty(user.Nickname))
{
    name = user.Nickname;
}
18
ответ дан 18 December 2019 в 05:44
поделиться

? является встроенным оператором- if . Это означает, что если checkbox.Checked имеет значение true , то CharacterCasing.Upper будет значением выражения, в противном случае CharacterCasing.Normal будет.

Это работает так:

тип значение = условие? trueValue: falseValue;

5
ответ дан 18 December 2019 в 05:44
поделиться

, который является встроенным оператором if. "?" это код для if, ":" для else.

3
ответ дан 18 December 2019 в 05:44
поделиться

? также известен как тернарный оператор

2
ответ дан 18 December 2019 в 05:44
поделиться

Между прочим. Когда вы изучаете C #, ознакомьтесь с ?? оператор Иногда это намного лучшая альтернатива?:.

Рассмотрим:

Console.WriteLine(user.LastName ?? "no last name provided");

vs:

Console.WriteLine(user.LastName != null ? user.LastName : "no last name provided");
1
ответ дан 18 December 2019 в 05:44
поделиться

Между прочим, так получилось, что вы можете искать "?:" в Википедии и найти это.

Обратите внимание, что его также иногда называют тернарным оператором. , поскольку это единственный тернарный (3-аргументный) оператор в C-подобных языках.

1
ответ дан 18 December 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: