Cos'è il confronto nullo o predefinito di argomenti generici in C#

Cos'è il confronto nullo o predefinito di argomenti generici in C#
Quando si lavora con i generici in C#, è importante capire come il confronto nullo o predefinito funziona con argomenti generici. In C#, Null rappresenta un riferimento a nessun oggetto, mentre il default rappresenta il valore predefinito di un tipo di dati, questo articolo discuterà di come eseguire confronti null o predefiniti su argomenti generici in C#, insieme a un esempio di codice.

Confronto nulla di argomento generico

Quando si confrontano gli argomenti generici per null, utilizziamo l'operatore == che controlla se due operandi sono uguali. Quando si utilizza l'operatore == per confrontare gli argomenti generici, è importante garantire che il tipo di argomento sia un tipo di riferimento. L'operatore == viene utilizzato per confrontare i riferimenti, ecco un esempio di confronto nullo di un argomento generico in C#:

public static bool isnull(T arg) dove t: classe

return arg == null;

Il codice sopra utilizza l'operatore == per verificare se l'argomento è nullo o meno e il dove T: classe Il vincolo garantisce che il tipo di argomento sia un tipo di riferimento, che ci consente di utilizzare l'operatore == per confrontare i riferimenti.

Confronto predefinito di argomento generico

Quando si confrontano gli argomenti generici per il default, utilizziamo EqualityComparer.Predefinito.Equivale metodo. IL EqualityComparer.Predefinito La proprietà restituisce il confronto dell'uguaglianza predefinita per il tipo specificato dall'argomento generico. Il metodo Equals del confronto di uguaglianza predefinita viene utilizzato per confrontare due operandi per l'uguaglianza, ecco un esempio di un confronto predefinito di un argomento generico in C#:

Public Static Bool IsDefault(T arg)

restituire ugualitycomparer.Predefinito.Uguali (arg, default);

Il codice sopra utilizza il file EqualityComparer.Predefinito.Equivale() funzione per verificare se l'argomento è uguale al valore predefinito del suo tipo di dati. La parola chiave predefinita viene utilizzata per rappresentare il valore predefinito di un tipo di dati.

Esempio: usando null e predefinito in c#

Ecco un esempio di codice completo che dimostra sia il confronto null che quello predefinito di argomenti generici in C#:

usando il sistema;
Utilizzo del sistema.Collezioni.Generico;
Programma di classe pubblica

Public Static Void Main ()

stringa str = null;
int i = impostazione predefinita;
Console.WriteLine ($ "IsNull: isNull (str)"); // VERO
Console.WriteLine ($ "isDefault: isDefault (i)"); // VERO

public static bool isnull(T arg) dove t: classe

return arg == null;

Public Static Bool IsDefault(T arg)

restituire ugualitycomparer.Predefinito.Uguali (arg, default);

Il codice C# sopra definisce un'applicazione della console che contiene due metodi generici. Il primo metodo "È zero" assume un argomento generico "Arg" e restituisce un valore booleano che indica se "Arg" è nullo o no, con un vincolo che "T" Deve essere un tipo di riferimento.

Il secondo metodo, "IsDefault" assume un argomento generico "Arg" e restituisce un valore booleano che indica se "Arg" è il valore predefinito per il suo tipo, senza vincoli "T". Le funzioni principali testano entrambi i metodi con una stringa nulla e un valore intero predefinito, rispettivamente:

Conclusione

Quando si lavora con i generici in C#, è importante capire come il confronto nullo o predefinito funziona con argomenti generici. Per il confronto null, utilizziamo l'operatore == per confrontare i riferimenti e per il confronto predefinito, utilizziamo il EqualityComparer.Predefinito.Equivale Metodo per confrontare i valori. È possibile scrivere un codice più efficiente ed efficace comprendendo come eseguire confronti null o predefiniti su argomenti generici.