Comparación nula del argumento genérico
Al comparar los argumentos genéricos para NULL, usamos el operador == que verifica si dos operandos son iguales. Cuando se usa el operador == para comparar argumentos genéricos, es importante asegurarse de que el tipo de argumento sea un tipo de referencia. El operador == se usa para comparar referencias, aquí hay un ejemplo de una comparación nula de un argumento genérico en C#:
Público estático Bool isnullEl código anterior usa el operador == para verificar si el argumento es nulo o no y el dónde T: clase La restricción asegura que el tipo de argumento sea un tipo de referencia, lo que nos permite usar el operador == para comparar las referencias.
Comparación predeterminada del argumento genérico
Al comparar argumentos genéricos para el valor predeterminado, usamos Igualdad comparador.Por defecto.Iguales método. El Igualdad comparador.Por defecto La propiedad devuelve el comparador de igualdad predeterminado para el tipo especificado por el argumento genérico. El método igual del comparador de igualdad predeterminado se usa para comparar dos operandos para la igualdad, aquí hay un ejemplo de una comparación predeterminada de un argumento genérico en C#:
Pública estática bool isdefaultEl código anterior usa el Igualdad comparador.Por defecto.Igual () función para verificar si el argumento es igual al valor predeterminado de su tipo de datos. La palabra clave predeterminada se usa para representar el valor predeterminado de un tipo de datos.
Ejemplo: Uso de NULL y predeterminado en C#
Aquí hay un ejemplo de código completo que demuestra la comparación nula y predeterminada del argumento genérico en C#:
usando el sistema;El código C# anterior define una aplicación de consola que contiene dos métodos genéricos. El primer método "Es nulo" toma un argumento genérico "Arg" y devuelve un valor booleano que indica si "Arg" es nulo o no, con una restricción que "T" Debe ser un tipo de referencia.
El segundo método, "ISDEFAULT" toma un argumento genérico "Arg" y devuelve un valor booleano que indica si "Arg" es el valor predeterminado para su tipo, sin restricciones en "T". Las funciones principales prueban ambos métodos con una cadena nula y un valor entero predeterminado, respectivamente:
Conclusión
Cuando se trabaja con genéricos en C#, es importante comprender cómo funciona la comparación nula o predeterminada con argumentos genéricos. Para la comparación nula, usamos el operador == para comparar las referencias, y para la comparación predeterminada, usamos el Igualdad comparador.Por defecto.Iguales Método para comparar valores. Puede escribir un código más eficiente y efectivo entendiendo cómo realizar comparaciones nulas o predeterminadas en argumentos genéricos.