Skip to content

EN CSharp Keyword required

Codex edited this page Oct 11, 2026 · 2 revisions

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

C#: required

Handbook C# · Practical Guide

Requires the caller to initialize the member during object creation, unless the constructor is marked SetsRequiredMembers.

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
var item = new Item { Name = "Ore" };
System.Console.WriteLine(item.Name);
class Item { public required string Name { get; init; } }

Result:

Ore

Syntax

public required string Name { get; init; }

Example 1: simple form

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)
    {
        Profile profile = new() { Name = "Archer" };
        Console.WriteLine(profile.Name);
    }
}
public class Profile { public required string Name { get; init; } }

Example 2: another practical form

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)
    {
        Item item = new() { Code = 12, Label = "Ore" };
        Console.WriteLine($"{item.Code}:{item.Label}");
    }
}
public class Item { public required int Code { get; init; } public required string Label { get; init; } }

Official source: Microsoft Learn.

Clone this wiki locally