Skip to content

EN CSharp Directive Nullable

Codex edited this page Oct 11, 2026 · 2 revisions

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

Nullable-context

Handbook C# · Practical Guide

Manages nullable annotations and nullable warnings. Does not insert automatic null checks at runtime.

Simple example (Example.cs)

Save this example separately as Example.cs. Run it independently of the other examples on this page.

Example.cs:

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

Result:

Unknown

Syntax

#nullable enable / disable / restore / enable warnings / enable annotations

Example 1

#nullable enable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

public static class Program
{
    public static async Task Main(string[] args)
    {
        string? name = null;
        Console.WriteLine(name ?? "Unknown");
    }
}

Example 2

#nullable enable annotations
#nullable enable warnings
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

public static class Program
{
    public static async Task Main(string[] args)
    {
        string? text = "ore";
        if (text is not null) Console.WriteLine(text.Length);
    }
}

Official source: Microsoft Learn.

Clone this wiki locally