Cleaner Weg, um eine Null-Prüfung in C # zu tun? [Duplikat

Diese Frage hat hier bereits eine Antwort:

C # elegante Möglichkeit, um zu überprüfen, ob die Eigenschaft einer Eigenschaft null ist 21 answers

Angenommen, ich habe diese Schnittstelle,

interface IContact
{
    IAddress address { get; set; }
}

interface IAddress
{
    string city { get; set; }
}

class Person : IPerson
{
    public IContact contact { get; set; }
}

class test
{
    private test()
    {
        var person = new Person();
        if (person.contact.address.city != null)
        {
            //this will never work if contact is itself null?
        }
    }
}

Person.Contact.Address.City != null (Dies funktioniert, um zu überprüfen, ob City null ist oder nicht.)

Diese Prüfung schlägt jedoch fehl, wenn die Adresse oder der Kontakt oder die Person selbst null ist.

Derzeit könnte ich mir folgende Lösung vorstellen:

if (Person != null && Person.Contact!=null && Person.Contact.Address!= null && Person.Contact.Address.City != null)

{ 
    // Do some stuff here..
}

ibt es eine sauberere Möglichkeit, dies zu tu

Ich mag das @ wirklich nicnull check wird ausgeführt als(something == null). Gibt es stattdessen einen anderen netten Weg, etwas wie das @ zu tusomething.IsNull() Methode

Antworten auf die Frage(19)

Ihre Antwort auf die Frage