Avatar ·

Was ist null/nil in C# und wie arbeitet man damit?

Hallo zusammen! Ich habe angefangen, C# zu lernen und bin auf das Konzept null gestoßen. In anderen Sprachen habe ich nil oder None gesehen, aber in C# scheint es dasselbe zu sein. Könnt ihr mir erklären, was null im Kontext von Referenztypen genau bedeutet und wie man richtig damit arbeitet?

Ich habe versucht, einfachen Code zu schreiben, bekomme aber eine NullReferenceException. Hier ist ein Beispiel:

public class Person { public string Name { get; set; } }\n\nPerson person = null;\nConsole.WriteLine(person.Name); // Fehler: Object reference not set to an instance of an object.

Ich hatte erwartet, dass person.Name einen leeren String oder null ohne Exception zurückgibt. Wie vermeide ich solche Fehler? Ich habe es mit if (person != null) versucht, aber das macht den Code unübersichtlich.