IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

Łączenie wartości null w języku C# (jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 21 kwietnia 2026

Operator łączący z wartością null ?? ocenia prawy operand i zwraca jego rezultat, jeśli lewy operand jest odwołaniem o wartości null; w przeciwnym razie zwraca wartość swojego lewostronnego operandu. Jeśli lewostronny operand ocenia się jako typ wartościowy niebędący null, operator null-coalescing (??) nie ocenia swojego prawostronnego operandu. Operator przypisania ??= to łączące przypisanie wartości null, które przypisuje wartość prawego operandu do lewego operandu tylko wtedy, gdy lewy operand jest typem dopuszczającym wartość null. Jeśli operand po lewej stronie ocenia się jako wartość niebędąca null, operator przypisania null-coalescing (??=) nie ocenia swojego prawostronnego operandu. Operator null-coalescing jest podobny do operatora trójargumentowego.

W C#, operator null-coalescing (??) jest operatorem binarnym. Operator, który działa na dwa operandy jest nazywany operatorem binarnym. Podczas używania operatora null-coalescing, wymagane są dwa operandy, a operator ocenia każdy operand w celu określenia wyniku. Teraz zobaczymy użycie operatorów null-coalescing i null-conditional w C# poniżej.

Jak używać typów wartościowych null-coalescing w C#

  1. Utwórz nowy projekt w języku C#.
  2. Upewnij się, że zainstalowana jest odpowiednia wersja.
  3. Użyj operatora null-coalescing ??.
  4. Sprawdź typy referencyjne wartości lub obiektu w zależności od wymogu.
  5. Uruchom kod.

Null Coalescing in C#

Wartości null w C# są obsługiwane przez domyślne, zapewnione przez operator null-coalescing (??), co jest ideą koalescencji używaną do zarządzania takimi wartościami podczas pracy z typami nullable lub wyrażeniami, które mogą zaowocować null.

Składnia

Poniżej znajduje się składnia dla operatora null-coalescing:

result = expression1 ?? expression2;
  • expression1: To wyrażenie może produkować wartość null.
  • expression2: Jeśli expression1 jest null, to jest wartość domyślna lub wyrażenie zastępcze do użycia.
  • result: Zmienna przechowująca wynik operacji koalescencji.

Operator null-coalescing oferuje skrócony sposób przypisania wartości domyślnej podczas pracy z typami nullable, co jest jego głównym celem upraszczania kodu i efektywnego zarządzania danymi null.

Zalety

  • Zwięzłość: Obsługuje sprawdzenia null bez wymagania skomplikowanych instrukcji warunkowych lub operatorów trójargumentowych.
  • Czytelność kodu: Poprawiona przez explicite przekazywanie, że zostanie dostarczona wartość domyślna, jeśli zostanie zwrócony null.

To kluczowe, aby upewnić się, że typy wyrażeń porównywanych są zgodne lub kompatybilne przed użyciem operatora null-coalescing.

Chociaż użyteczny, nadmierne użycie operatora może utrudnić zrozumienie kodu. Stosuj go oszczędnie, gdy poprawia jasność kodu.

Podczas pracy z typami nullable lub scenariuszami wymagającymi wartości domyślnych, operator null-coalescing (??) w C# jest skutecznym narzędziem do zarządzania wartościami null i może pomóc w pisaniu bardziej zwięzłego i zrozumiałego kodu.

Operator null-coalescing ?? posiada następujące cechy związane z typem:

Wnioskowanie typu wyniku

Typ wyniku operatora koalescencji wartości null jest taki sam jak typy tych operandów, jeśli wyrażenia 1 i 2 mają ten sam typ, jak pokazano w poniższym kodzie.

int? Value = null;
int result = Value ?? 10;

Zgodność typów

Typ wyniku to typ, na który oba wyrażenia mogą zostać niejawnie przekonwertowane, jeśli wyrażenia 1 i 2 mają różne typy, ale jedno z nich może zostać niejawnie przekonwertowane na drugie.

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

Promocja typu

Jeśli typy wyrażeń 1 i 2 nie mogą zostać przekonwertowane w sposób domyślny, typ wyniku zostanie wybrany zgodnie z regułami promocji typów języka C#.

int? value = null;
long result = value ?? 100L;

W związku z tym typy operandów oraz reguły konwersji typów w języku C# determinują typ zmiennej lub wyrażenia, które przechowuje wynik działania operatora koalescencji wartości null (??). Aby zagwarantować prawidłową obsługę typów i wartości przy użyciu operatora scałania wartości null, należy koniecznie uwzględnić kompatybilność i prawdopodobne konwersje typów.

Łączenie w IronPDF

Zainstaluj IronPDF

Aby zainstalować bibliotekę IronPDF, wprowadź następujący kod do menedżera pakietów:

PM > Install-Package IronPdf

C# Null Coalescing (Jak działa dla deweloperów): Rysunek 1 - Instalacja IronPDF

Alternatywnie można użyć menedżera pakietów NuGet, aby wyszukać pakiet "IronPDF". Możesz wybrać i pobrać potrzebny pakiet z tej listy wszystkich pakietów NuGet powiązanych z IronPDF.

C# Null Coalescing (Jak działa dla deweloperów): Rysunek 2 - Menedżer pakietów NuGet

Utwórz plik PDF z funkcją Null Coalescing

Biblioteka C# o nazwie IronPDF służy do tworzenia dokumentów PDF i pracy z nimi. Biblioteka oferuje funkcje do pracy z plikami PDF, takie jak formatowanie, przetwarzanie tekstu i zarządzanie obrazami. "Null-coalescing" nie jest metodą ani funkcją dostępną wyłącznie w IronPDF; jest to raczej funkcja języka niż operacja specyficzna dla biblioteki.

Jeśli jednak pracujesz z IronPDF lub jakąkolwiek inną biblioteką w kodzie C#, możesz skorzystać z operatorów scałania wartości null (??), które zapewnia język C#.

Aby obsłużyć sytuacje null lub podać wartości domyślne, na przykład podczas pracy z obiektami IronPDF, typami wartości nullable lub właściwościami, które mogą zwracać null, można użyć operatora null-coalescing.

Poniższy przykład pokazuje, jak operator scałania wartości null może być używany w IronPDF:

using IronPdf;
using IronPdf.Pages;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int? x = null;

            // Use the null-coalescing operator to provide a default value if x is null
            var outputstr = $@"square of <b>{x}</b> is <b>{Math.Sqrt(x ?? 30)}</b>";

            // Render the HTML string as a PDF using IronPDF
            var pdfcreate = ChromePdfRenderer.StaticRenderHtmlAsPdf(outputstr);

            // Save the generated PDF to the file system
            pdfcreate.SaveAs("demo.pdf");
            
            // Wait for a key press to prevent the console from closing immediately
            Console.ReadKey();
        }
    }
}

Należy pamiętać, że IronPDF (ani żadna inna biblioteka) nie udostępnia specjalnej funkcji ani metody do obsługi operatorów warunkowych z wartościami null; Użycie operatora koalescencji wartości null opiera się raczej na ogólnych cechach języka C# i koncepcjach dotyczących obsługi operatora warunkowego null. Aby dowiedzieć się więcej o funkcjach i możliwościach IronPDF, odwiedź stronę IronPDF Demos.

Wynik:

C# Null Coalescing (Jak działa dla deweloperów): Rysunek 3 - Wynik przykładu poprzedzającego

Wnioski

Podsumowując, operator koalescencji wartości null (??) w języku C# jest przydatną funkcją, która sprawia, że obsługa wartości null w wyrażeniach i przypisaniach jest łatwiejsza i bardziej wydajna. Ten operator upraszcza kod, dając programistom jasny sposób radzenia sobie w sytuacjach, w których wartość może być null. Umożliwia to programistom łatwe określanie wartości domyślnych lub realizowanie alternatywnej logiki. Jego elastyczność sprawia, że kod jest bardziej uproszczony i efektywny, co ułatwia testy null i poprawia czytelność.

IronPDF oferuje licencję wieczystą, opcje aktualizacji, rok utrzymania oprogramowania oraz trzydziestodniową gwarancję zwrotu pieniędzy, wszystko to zawarte w pakiecie $999 Lite. Użytkownicy mają trzydzieści dni na przetestowanie produktu w rzeczywistych warunkach podczas okresu próbnego z znakiem wodnym. Kliknij podany link "Licencjonowanie IronPDF", aby dowiedzieć się więcej o kosztach, licencjonowaniu i wersji próbnej IronPDF. Aby dowiedzieć się więcej o produktach Iron Software, odwiedź stronę internetową Iron Software.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta