Skip to content

CSharp Nullability

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

null, nullable-типи та перевірки

Посібник C# · Приклади UO

T? для типу значення допускає відсутність значення, наприклад int?. Nullable-анотації типів посилань допомагають компілятору знаходити потенційне звернення до null; вони не додають автоматичну runtime-перевірку. ?. виконує умовний доступ, ?? задає заміну, ??= присвоює при null.

Простий приклад (Example.cs)

Збережіть цей приклад окремо як Example.cs. Запускайте його незалежно від інших прикладів на сторінці.

Example.cs:

// PROJECT-EXAMPLE
string? name = null;
System.Console.WriteLine(name ?? "Unknown");

Результат:

Unknown
string? name = null;
string display = name ?? "unknown";
int length = name?.Length ?? 0;
UO.Print($"{display}: {length}");
int? amount = null;
amount ??= 1;
if (amount is int value)
{
    UO.Print(value.ToString());
}

Оператор ! пригнічує попередження аналізу null, але не запобігає виключенню. Для nullable-типу значення перевіряйте HasValue, використовуйте шаблон або GetValueOrDefault. Відсутній об'єкт та числовий нуль – різні стани.

Офіційна документація: null, nullable-типи та перевірки – Microsoft Learn.

Clone this wiki locally