Repository navigation
EN CSharp Operator Null Conditional Assignment
Codex edited this page Oct 11, 2026
·
2 revisions
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
In C# 14 null-conditional access can be the left part of the assignment. If receiver is null, the right part is not calculated.
Save this example separately as Example.cs. Run it independently of the other examples on this page.
Example.cs:
// PROJECT-EXAMPLE
int[]? values = null;
int calls = 0;
int Compute() { calls++; return 7; }
values?[0] = Compute();
System.Console.WriteLine(calls);Result:
0
receiver?.Property = value; / values?[index] = value;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();
profile?.Name = "Archer";
Console.WriteLine(profile.Name);
}
}
public class Profile { public string Name { get; set; } = ""; }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)
{
int[]? values = null;
int calls = 0;
int Compute() { calls++; return 7; }
values?[0] = Compute();
Console.WriteLine(calls);
}
}Official source: Microsoft Learn.
ClassicUO — Bad Newbie & C# Scripts IDE