"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo prevenir y tratar con nullreferenceExcepciones en C#?

¿Cómo prevenir y tratar con nullreferenceExcepciones en C#?

Publicado el 2025-04-18
Navegar:567

How Can I Prevent and Handle NullReferenceExceptions in C#?

¿Qué es NullReferenceException?

NullReferenceException es una excepción de tiempo de ejecución en C# que ocurre cuando intenta acceder a los miembros de un objeto vacío. Esto puede suceder cuando:

  • intente llamar al método de un objeto vacío.
  • intente acceder a las propiedades de un objeto vacío.
  • intente desreferencia un puntero nulo.

¿Cómo resolverlo?

Hay varias formas de resolver nullreferenceException:

  • Verifique los valores vacíos antes de acceder a los miembros. Siempre verifique si el objeto está vacío antes de acceder a cualquier miembro del objeto. Puede usar la instrucción if como se muestra en el siguiente ejemplo:
if (object != null)
{
    // 访问对象的成员。
}
  • Use el operador de combinación vacía. El operador de fusión vacía (??) le permite especificar el valor predeterminado para usar si el objeto está vacío. Por ejemplo, el siguiente código devuelve el valor de la propiedad de nombre si el objeto no está vacío; Si el objeto está vacío, devuelve "desconocido":
string name = object?.Name ?? "Unknown";
  • Use el operador de condición vacía. Los operadores de condición vacía (?. Y? []) Le permiten acceder a los miembros de un objeto sin verificar los valores nulos de antemano. Por ejemplo, el siguiente código devuelve el valor de la propiedad de nombre si el objeto no está vacío; Si el objeto está vacío, devuelve nulo:
string name = object?.Name;
  • use el bloque de try/capt. también puede usar el bloque de try/captación para manejar nullreferenceExcepciones. Por ejemplo, el siguiente código procesará nullreferenceException e imprimirá un mensaje en la consola:
try
{
    // 访问对象的成员。
}
catch (NullReferenceException ex)
{
    Console.WriteLine("NullReferenceException 发生。");
}
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3