Разница между проверкой нуля с помощью ? Против?C#

Место общения программистов C#
Ответить
Anonymous
 Разница между проверкой нуля с помощью ? Против?

Сообщение Anonymous »

Я видел эту закономерность много раз.

Код: Выделить всё

var image = @Model?.Image?.First();
Или

Код: Выделить всё

var cId = cust!.Id;
Обычно Visual Studio/ReSharper предлагает мне добавить ? Или ! В коде, но я понял? Используется для проверки того, что объект не является нулевым, прежде чем переходить к следующему разделу кода, но я не могу найти никакой документации или объяснений того, что именно они собой представляют или называются и почему VS/RS предлагает их добавить. Я знаю, что могу объявить код, например

Код: Выделить всё

int? MyInt = 1;
Чтобы сделать его обнуляемым, но пытаемся лучше понять ? И !.
Есть ли у кого-нибудь ссылка или объяснение, чтобы я мог понять между ними?
Я проверил MSDN, но так как не знаю Я не знаю, как называется этот шаблон, и не нахожу ничего, связанного с этим, или я нацелился на что-то другое.

Подробнее здесь: https://stackoverflow.com/questions/784 ... l-using-vs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»