Co to jest zerowe lub domyślne porównanie ogólnego argumentu w C#

Co to jest zerowe lub domyślne porównanie ogólnego argumentu w C#
Podczas pracy z generykami w C#ważne jest, aby zrozumieć, w jaki sposób zerowe lub domyślne porównanie działa z ogólnymi argumentami. W C#NULL reprezentuje odniesienie do żadnego obiektu, podczas gdy domyślnie reprezentuje domyślną wartość typu danych, w tym artykule omówione, jak dokonać wartości zerowych lub domyślnych na ogólne argumenty w C#, wraz z przykładem kodu.

Zerowe porównanie ogólnego argumentu

Porównując ogólne argumenty dla NULL, używamy operatora ==, który sprawdza, czy dwa operandy są równe. Podczas korzystania z operatora == do porównania ogólnych argumentów ważne jest, aby upewnić się, że typ argumentu jest typem odniesienia. Operator == służy do porównania odniesień, oto przykład zerowego porównania ogólnego argumentu w C#:

publiczne statyczne bool isnull(T arg) gdzie t: klasa

return arg == null;

Powyższy kod używa operatora ==, aby sprawdzić, czy argument jest zerowy, czy nie, a gdzie gdzie T: klasa Ograniczenie zapewnia, że ​​typ argumentu jest typem odniesienia, co pozwala nam korzystać z operatora == do porównywania referencji.

Domyślne porównanie ogólnego argumentu

Porównując ogólne argumenty dla domyślnych, używamy EqualicomCarer.Domyślny.Równa się metoda. EqualicomCarer.Domyślny właściwość zwraca domyślny komparant równości dla typu określonego przez argument ogólny. Metoda równa domyślnego komparatora równości jest używana do porównania dwóch operandów dla równości, oto przykład domyślnego porównania ogólnego argumentu w C#:

publiczne statyczne bool isdefault(T arg)

zwrócić równość, jaką.Domyślny.Równa się (arg, domyślnie);

Powyższy kod używa EqualicomCarer.Domyślny.Równa się() funkcja sprawdzenia, czy argument jest równy wartości domyślnej jego typu danych. Domyślne słowo kluczowe służy do przedstawienia domyślnej wartości typu danych.

Przykład: Używanie NULL i domyślnie w C#

Oto pełny przykład kodu pokazujący zarówno zerowe, jak i domyślne porównanie ogólnego argumentu w C#:

za pomocą systemu;
za pomocą systemu.Kolekcje.Ogólny;
Program klasy publicznej

public static void main ()

String str = null;
int i = domyślnie;
Konsola.WriteLine ($ "isNull: isNull (str)"); // PRAWDA
Konsola.WriteLine ($ "isDefault: isdefault (i)"); // PRAWDA

publiczne statyczne bool isnull(T arg) gdzie t: klasa

return arg == null;

publiczne statyczne bool isdefault(T arg)

zwrócić równość, jaką.Domyślny.Równa się (arg, domyślnie);

Powyższy kod C# definiuje aplikację konsoli, która zawiera dwie metody ogólne. Pierwsza metoda „Isnull” przyjmuje ogólny argument „Arg” i zwraca wartość logiczną wskazującą, czy „Arg” jest zerowy czy nie, z ograniczeniem, że "T" musi być typem odniesienia.

Druga metoda, „Isdefault” przyjmuje ogólny argument „Arg” i zwraca wartość logiczną wskazującą, czy „Arg” jest wartością domyślną dla jej typu, bez ograniczeń "T". Główne funkcje testują obie metody odpowiednio za pomocą łańcucha zerowego i domyślnej wartości całkowitej:

Wniosek

Podczas pracy z generykami w C#ważne jest, aby zrozumieć, jak działają porównanie zerowe lub domyślne z ogólnymi argumentami. Do porównania zerowego używamy operatora == do porównania referencji, a dla domyślnego porównania używamy EqualicomCarer.Domyślny.Równa się Metoda porównywania wartości. Możesz napisać bardziej wydajny i skuteczny kod, rozumiejąc, jak dokonywać zerowych lub domyślnych porównań ogólnych argumentów.