.NET-HILFE

C# Null-Koaleszenz (So funktioniert es für Entwickler)

Einführung

Der Null-Koaleszenz-Operator ?? evaluiert den rechten Operanden und gibt dessen Ergebnis zurück, wenn es sich um eine nicht-null-Referenz handelt; andernfalls gibt er den Wert seines linken Operanden zurück. Wenn der linke Operand einen nicht-null-fähigen Werttyp ergibt, wertet der null-konditionale Operator (??) seinen rechten Operand nicht aus. Der Zuweisungsoperator ??=, der Null-Koaleszenz-Operator, weist den Wert seines rechten Operanden seinem linken Operanden nur zu, wenn der linke Operand zu einem Nullable-Typwert ausgewertet wird. Wenn der Operand auf der linken Seite auf einen Nicht-Null-Wert ausgewertet wird, wird der rechte Operand des Null-Koaleszenz-Zuweisungsoperators (??=) nicht ausgewertet. Der Null-Koaleszenz-Operator ist ähnlich wie der ternäre Operator.

Es stimmt, dass in C# der Null-Koaleszenz-Operator (??) ein binärer Operator ist. Ein Operator, der auf zwei Operanden wirkt, wird als binärer Operator bezeichnet. Bei Verwendung des Null-Koaleszenz-Operators sind zwei Operanden erforderlich, und der Operator wertet jeden Operanden aus, um das Ergebnis zu bestimmen. Jetzt werden wir sehen, null Koaleszenz und null bedingte Operatoren Verwendung in C# unten.

Verwendung von C# Null Coalescing Value Types

  1. Erstellen Sie ein neues C#-Projekt.

  2. Stellen Sie sicher, dass die richtige Version installiert ist.

  3. Verwenden Sie den Null-Koaleszenz-Operator ??.

  4. Prüfen Sie die Wert- oder Objektreferenztypen je nach Anforderung.

  5. Führen Sie den Code aus.

Null-Koaleszenz in C##

Nullwerte in C# werden standardmäßig durch den Null-Koaleszenz-Operator (??) behandelt, der die Idee des Koaleszenzens verwendet, um solche Werte zu verwalten, wenn man mit Nullable-Typen oder Ausdrücken umgeht, die möglicherweise null ergeben.

Syntax

Es folgt die Syntax für den Null-Koaleszenz-Operator:

result = expression1 ?? expression2;
result = expression1 ?? expression2;
result = If(expression1, expression2)
$vbLabelText   $csharpLabel

expression1: Dieser Ausdruck könnte einen Nullwert ergeben.

expression2: Wenn expression1 Null ist, ist dies der zu verwendende Standardwert oder Ersatzausdruck.

ergebnis: Die Variable, die das Ergebnis der Koaleszenzoperationen enthält.

Der Null-Koaleszenz-Operator bietet eine komprimierte Methode zur Zuweisung eines Standardwerts bei der Arbeit mit nullbaren Typen, was sein Hauptziel bei der Rationalisierung von Code und der effizienten Handhabung von Null-Daten ist.

Vorteile

  • Prägnanz: Erledigt Null-Prüfungen, ohne komplexe bedingte Anweisungen oder ternäre Operatoren zu erfordern.
  • Die Lesbarkeit des Codes wird verbessert, indem explizit angegeben wird, dass ein Standardwert bereitgestellt wird, wenn null zurückgegeben wird.

    Es ist wichtig, dass die zu vergleichenden Ausdruckstypen übereinstimmen oder kompatibel sind, bevor man den Null-Koaleszenz-Operator verwendet.

    Die übermäßige Verwendung des Operators ist zwar nützlich, kann aber dazu führen, dass der Code schwerer zu verstehen ist. Wenn es die Klarheit des Codes verbessert, sollten Sie es sparsam einsetzen.

    Beim Arbeiten mit nullable Typen oder Szenarien, die Standardwerte erfordern, ist der Null-Koaleszenz-Operator (??) in C# ein effektives Werkzeug zur Verwaltung von Nullwerten und kann helfen, prägnanteren und verständlicheren Code zu schreiben.

    Der Operator, der Null-Koaleszenz ?? verfügt über die folgenden typbezogenen Eigenschaften:

Ergebnis Typ Inferenz

Der Ergebnistyp des Null-Koaleszenz-Operators ist derselbe wie diese Operanden, wenn die Ausdrücke 1 und 2 denselben Typ haben, wie im folgenden Code gezeigt.

int? Value = null;
int result = Value ?? 10;
int? Value = null;
int result = Value ?? 10;
Dim Value? As Integer = Nothing
Dim result As Integer = If(Value, 10)
$vbLabelText   $csharpLabel

Typ Kompatibilität

Der Ergebnistyp ist der Typ, in den beide Ausdrücke implizit konvertiert werden können, wenn die Ausdrücke 1 und 2 unterschiedliche Typen haben, aber einer implizit in den anderen konvertiert werden kann.

double? value= null;
int result = (int)(value ?? 5.5);
double? value= null;
int result = (int)(value ?? 5.5);
Imports System

Dim value? As Double= Nothing
Dim result As Integer = CInt(Math.Truncate(If(value, 5.5)))
$vbLabelText   $csharpLabel

Typ Förderung

Wenn die Typen der Ausdrücke 1 und 2 nicht implizit konvertiert werden können, wird der Ergebnistyp nach den C#-Typ-Promotion-Regeln ausgewählt.

int? value= null;
long result = value ?? 100L;
int? value= null;
long result = value ?? 100L;
Dim value? As Integer= Nothing
Dim result As Long = If(value, 100L)
$vbLabelText   $csharpLabel

Folglich bestimmen die Typen der beteiligten Operanden und die C#-Typumwandlungsregeln den Typ der Variablen oder des Ausdrucks, der das Ergebnis des Null-Koaleszenz-Operators (??) hält. Um die korrekte Behandlung von Typen und Werten bei der Verwendung des Null-Koaleszenz-Operators zu gewährleisten, müssen Kompatibilität und wahrscheinliche Typkonvertierungen berücksichtigt werden.

Koaleszenz in IronPDF

IronPDF installieren

Um die IronPDF-Bibliothek zu installieren, geben Sie den folgenden Code in den Paketmanager ein:

Install-Package IronPdf

C# Null-Zusammenführung (Wie es für Entwickler funktioniert): Abbildung 1 - Installieren Sie IronPDF

Alternativ können Sie auch den NuGet Package Manager verwenden, um nach dem Paket "IronPDF" zu suchen. Sie können das benötigte Paket aus dieser Liste aller mit IronPDF verbundenen NuGet-Pakete auswählen und herunterladen.

C# Null-Koaleszenz (Wie es für Entwickler funktioniert): Abbildung 2 - NuGet-Paket-Manager

PDF mit Null-Koaleszenz erstellen

Die C#-Bibliothek IronPDF dient der Erstellung von und der Arbeit mit PDF-Dokumenten. Die Bibliothek bietet einige Funktionen für die Arbeit mit PDFs, wie Formatierung, Textverarbeitung und Bildverwaltung. "Null-Koaleszenz" ist weder eine Methode noch eine Funktion, die es nur bei IronPDF gibt; es handelt sich vielmehr um ein Sprachmerkmal und nicht um einen bibliotheksspezifischen Vorgang.

Wenn Sie jedoch mit IronPDF oder einer anderen Bibliothek in Ihrem C#-Code arbeiten, können Sie die Null-Koaleszenz-Operatoren (??) verwenden, die die C#-Sprache bereitstellt.

Um Null-Situationen zu behandeln oder Standardwerte bereitzustellen, z. B. bei der Arbeit mit IronPDF-Objekten, nullbaren Werttypen oder Eigenschaften, die Null zurückgeben können, können Sie den Null-Koalitionsoperator verwenden.

Das folgende Beispiel zeigt, wie der Null-Koalitionsoperator mit IronPDF verwendet werden kann:

using IronPdf;
using IronPdf.Pages;
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string [] args)
        {
            int? x = null;
            var outputstr = $@"square of <b>{x}</b> is <b>{ Math.Sqrt(x??30)}</b>";
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
            pdfcreate.SaveAs("demo.pdf");
            Console.ReadKey();
        }
    }
}
using IronPdf;
using IronPdf.Pages;
namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string [] args)
        {
            int? x = null;
            var outputstr = $@"square of <b>{x}</b> is <b>{ Math.Sqrt(x??30)}</b>";
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);
            pdfcreate.SaveAs("demo.pdf");
            Console.ReadKey();
        }
    }
}
Imports IronPdf
Imports IronPdf.Pages
Namespace ConsoleApp1
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim x? As Integer = Nothing
			Dim outputstr = $"square of <b>{x}</b> is <b>{Math.Sqrt(If(x, 30))}</b>"
			Dim pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr)
			pdfcreate.SaveAs("demo.pdf")
			Console.ReadKey()
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Denk daran, dass IronPDF (oder eine andere Bibliothek) keine spezielle Funktion oder Methode zum Verwalten von Nullwerten für bedingte Operatoren bietet; die Verwendung des Null-Koaleszenz-Operators basiert vielmehr auf allgemeinen C#-Sprachmerkmalen und Konzepten für die Handhabung eines Null-Bedingungsoperators. Um mehr über die Funktionen und Möglichkeiten von IronPDF zu erfahren, besuchen Sie die IronPDF-Demos.

Ausgabe:

C# Null Coalescing (Wie es für Entwickler funktioniert): Abbildung 3 - Ausgang des vorhergehenden Beispiels

Schlussfolgerung

Zusammenfassend ist der Null-Koaleszenz-Operator (??) in C# ein nützliches Feature, das den Umgang mit Nullwerten in Ausdrücken und Zuweisungen erleichtert und effizienter macht. Dieser Operator vereinfacht den Code, indem er Entwicklern eine klare Möglichkeit gibt, Szenarien zu behandeln, in denen ein Wert null sein könnte. So können Entwickler problemlos Standardwerte angeben oder eine alternative Logik ausführen. Seine Anpassungsfähigkeit macht den Code schlanker und effektiver, vereinfacht Nulltests und verbessert die Lesbarkeit.

IronPDF bietet eine unbefristete Lizenz, Upgrade-Optionen, ein Jahr Software-Wartung und eine dreißigtägige Geld-zurück-Garantie, alles im $749 Lite-Paket enthalten. Die Benutzer haben dreißig Tage Zeit, um das Produkt unter realen Anwendungsbedingungen zu testen. Klicken Sie auf den bereitgestellten IronPDF Licensing, um mehr über die Kosten, Lizenzierung und Testversion von IronPDF zu erfahren. Um mehr über die Produkte von Iron Software zu erfahren, besuchen Sie die Iron Software-Website.

Chipego
Software-Ingenieur
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS
Datatables .NET (Wie es für Entwickler funktioniert)
NÄCHSTES >
Hangfire .NET Core (Wie es für Entwickler funktioniert)