Сокращение, если заявление без остального - PullRequest
6 голосов
/ 16 ноября 2011

Я пытаюсь получить короткую руку для оператора if, так как я создаю запрос выражения, и если test равен null, средство доступа вызывает ошибку.

test != null ? test.Contains("mystring")

otherwise ignore.

Я знаю, что могу использовать ?? для is null, но есть ли обратное.

Заранее спасибо.

Ответы [ 2 ]

8 голосов
/ 16 ноября 2011

Звучит так, как ты хочешь test != null && test.Contains("mystring")

Твой вопрос не имеет смысла.Все выражения, включая условный оператор, должны иметь значение.Что вы ожидаете от этого выражения, если test равно нулю?

Вы, вероятно, хотите, чтобы оно было ложным, если test равно нулю.
Другими словами, вы хотите, чтобы оно было true, если test isn'NULL' и содержит mystring.

7 голосов
/ 16 ноября 2011

Звучит так, как будто вы могли бы хотите:

test != null && test.Contains("mystring")

Это оценивается как false, если test равно нулю - это то, что вы хотите?По сути, вам нужно сказать, что вы хотите, чтобы test было равно null, иначе оно не может быть использовано как выражение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...