Ich habe ein Programm, in dem ich den NullReferenceException Fehler erhalten. Hier ist der Code, der den Fehler verursacht:C# System.NullReferenceException Fehler Google Kalender
string description = "";
if (string.IsNullOrEmpty(eventItem.Description.ToString()))
{
description = "No description available.";
}
else
{
description = eventItem.Description.ToString();
}
ich durch diesen Beitrag ausgesehen haben (What is a NullReferenceException and how do I fix it?), und ich habe einige der Lösungen ausprobiert (ich fürchte, ich verstehe einfach nicht alle von ihnen genug um sie zu versuchen), aber ich kann einfach nicht herausfinden, warum das passiert. Nach meinem Verständnis tritt dieser Fehler auf, weil die Zeichenfolge tatsächlich null ist.
Es gibt Ereignisse in meinem Google Kalender, die keine Beschreibung enthalten, daher ist die Beschreibung null, aber sollte der Code, den ich dafür habe, nicht überprüft werden? Oder ist das Problem, dass eventItem.Description.ToString() nicht null sein kann, wenn ich die IsNullOrEmpty-Methode aufruft? Ich habe auch versucht, die if-Anweisung zu ändern:
if (eventItem.Description.ToString() == null)
... aber ich bekomme immer noch die NRE-Fehler. Ich habe versucht, meinen Code so viele verschiedene Arten neu zu schreiben, aber nichts hat funktioniert. Ich bin am Ende meines Seils!
Oder 'eventItem.Description' könnte null sein. –
Ja. Danke, Jack. Ich habe die Antwort aktualisiert. Ohne die Informationen, die Sie angegeben haben, ist der Fehler möglicherweise noch aufgetreten. – NoSaidTheCompiler
'ToString' gibt für keine Framework-Typen null zurück. Wenn 'Description' nicht ein benutzerdefinierter Typ ist, der' ToString' überlädt, um 'null' für einen gültigen Wert zurückzugeben (was sehr merkwürdig wäre), ist die Prüfung auf' ToString' nicht notwendig. –