DE CSharp Operator Null Conditional Assignment - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Zuweisung über null-bedingt
Handbuch C# · Praktischer Leitfaden
In C# 14 null-Conditional Access kann der linke Teil der Zuweisung sein. Wenn der Empfänger null ist, wird der rechte Teil nicht berechnet.
Einfaches Beispiel (Example.cs)
Speichern Sie dieses Beispiel separat als Example.cs. Führen Sie es unabhängig von den anderen Beispielen dieser Seite aus.
Example.cs:
// PROJECT-EXAMPLE
int[]? values = null;
int calls = 0;
int Compute() { calls++; return 7; }
values?[0] = Compute();
System.Console.WriteLine(calls);
Ergebnis:
0
Syntax
receiver?.Property = value; / values?[index] = value;
Beispiel 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; } = ""; }
Beispiel 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);
}
}
Offizielle Quelle: Microsoft Learn.