Skip to content

ES CSharp Operator Null Conditional Assignment

Codex edited this page Oct 11, 2026 · 2 revisions

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

Asignación mediante null-condicional

Manual C# · Guía Práctica

En C# 14 null, el acceso condicional puede ser la parte izquierda de la tarea. Si el receptor es null, no se calcula la parte derecha.

Ejemplo sencillo (Example.cs)

Guarde este ejemplo por separado como Example.cs. Ejecútelo independientemente de los demás ejemplos de esta página.

Example.cs:

// PROJECT-EXAMPLE
int[]? values = null;
int calls = 0;
int Compute() { calls++; return 7; }
values?[0] = Compute();
System.Console.WriteLine(calls);

Resultado:

0

Sintaxis

receiver?.Property = value; / values?[index] = value;

Ejemplo 1

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; } = ""; }

Ejemplo 2

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);
    }
}

Fuente oficial: Microsoft Aprender.

Clone this wiki locally