El operador de condición nula en C#
Haz que tu código sea más resiliente aplicando este operador que controla los valores nulos en C# ✌️

Si quieres hacer tu código más resiliente, que es una característica del software muy extendida hoy en día entonces deberás aprender sobre el operador de condición nula que provee C# desde su versión 6.

El operador es un simple signo de interrogación ?

Y lo usamos añadiéndolo después de un objeto en el que queremos validar su valor.

En caso sea nulo, retornará Nulo (de forma controlada) en vez de lanzar la típica excepción NullReferenceException.

He creado un código de ejemplo en el cual podrás ver a este operador ? en acción!

Por si no lo sabías. Un código es resiliente cuando tiene la capacidad de mantener su funcionalidad y rendimeinto incluso cuando se enfrenta a situaciones inesperadas o condiciones adversas, como puede ser hacer referencia a un valor nulo.

Vamos al código

namespace ConsoleApp1
{
    public class Program
    {
        public static void Main(string[] args)
        {
            PersonaRepository personaRepository = new PersonaRepository();
            Persona persona = personaRepository.Get(2);

            //Sin null conditional operator
            if (persona is not null)
            {
                persona.Matricular();
            }
            //Con conditional operator
            persona?.Matricular();
                        
            string config = ConfigurationRepository.GetConfiguration();
            //Sin null conditional operator
            Console.WriteLine($"La configuración es {config.ToLower()}");            
            //Con null conditional operator            
            Console.WriteLine($"La configuración es {config?.ToLower()}");


            //Sin null conditional operator
            Console.WriteLine($"La longitud del texto es {config.Length}");
            //Con null conditional operator
            Console.WriteLine($"La longitud del texto es {config?.Length}");
        }
    }

    public class PersonaRepository
    {
        private readonly List<Persona> personas = new();
        public PersonaRepository()
        {
            personas.Add(new Persona { Id = 1, Nombre = "Gerson" });
        }
        public Persona Get(int id)
        {
            return personas.FirstOrDefault(x => x.Id == id);
        }
    }
    public class ConfigurationRepository
    {
        public static string GetConfiguration()
        {
            return null; //retorno null a propósito para probar la aplicación
        }
    }

    public class Persona
    {
        public int Id { get; set; }
        public string Nombre { get; set; }

        public void Matricular()
        {
            Console.WriteLine($"El alumno {Nombre} ha sido matriculado.");
        }
    }
}

Explicando el código

Ahora te toca a ti genio, copia el código y pégalo en tu IDE y pruébalo por ti mismo.

Si esta entrada te ha encantado, a qué esperas crack? Compártela 😎💙

Créditos de foto principal: Foto de Kier in Sight Archives en Unsplash

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *