Comprobación de nulos Operador de propagación de nulos (?.)

"Operador de propagación nula", traducido como operador condicional nulo en "C# Essentials".

Al llamar a un método cuyo valor es nulo, se lanzará una excepción System.NullReferenceException en tiempo de ejecución, lo que generalmente indica que hay un error en la lógica del programa. Dada la alta frecuencia de este patrón de verificación de valores nulos antes de llamar a los miembros, C# 6.0 introdujo un operador de condición nula más simplificado ?..

El operador condicional nulo verifica si el operando es nulo antes de llamar al método o propiedad, y si es nulo, el grupo de métodos no se ejecuta.

 private bool IsOk(List<int> rooms)
 {
     return rooms.Count > 0;
 } 

Cuando las habitaciones anteriores estén vacías, se informará una excepción.

Para hacer un procesamiento vacío:

    private bool IsOk(List<int> rooms)
    {
        if (rooms != null)
        {
            return rooms.Count > 0;
        }

        return false;
    }

Use el "operador de propagación nula" para simplificar la escritura:

 private bool IsOk(List<int> rooms)
 {
     return rooms?.Count > 0;
 } 

Ejemplo 2:

A?.Invoke("Hehe");

El ejemplo anterior es equivalente a

if(A == null)
{
   //不执行
}
else
{
   A.Invoke("Hehe");
}

Supongo que te gusta

Origin blog.csdn.net/qq_42672770/article/details/123919257
Recomendado
Clasificación