Unterschied zwischen Convert.ToString () und .ToString () in C #? [Duplikat]

7

Was ist der Unterschied zwischen Convert.ToString () und .ToString () in C #?

Wenn ich versuche, dataRow[i] mit ToString () in einen String zu konvertieren, erhalte ich einen Fehler. Wie behebe ich das?

    
SUJEET 03.09.2011, 05:10
quelle

4 Antworten

15

Grundsätzlich werden beide verwendet, um einen Wert in einen String zu konvertieren, aber es gibt einen grundlegenden Unterschied zwischen ihnen:

Wenn wir ein NULL-Objekt haben, behandelt Convert.ToString(Object); den NULL-Wert, während Object.ToString(); den NULL-Wert nicht behandelt und NULL-Referenzausnahme auslöst.

    
Radhika 03.09.2011 05:15
quelle
8

Es gibt einen einfachen aber wichtigen Unterschied zwischen ihnen ...

ToString () löst eine Ausnahme aus, wenn das Objekt null ist

Im Falle von object.ToString (), wenn das Objekt null ist, wird also NullReferenceException ausgelöst.

Convert.ToString () return string.Empty im Falle eines Null-Objekts

(string) cast weisen Sie das Objekt im Falle von null zu

Also im Falle von MyObject o = (Zeichenfolge) NullObject;

Wenn Sie jedoch o verwenden, um auf eine Eigenschaft zuzugreifen, wird die NullReferenceException ausgelöst.

Ссылка

    
kleinohad 03.09.2011 05:15
quelle
7

Zunächst ist Object.ToString () eine virtuelle Funktion in der Basisklasse Object. Jede Klasse kann ToString () überschreiben, um eine eigene Implementierung bereitzustellen. Convert.ToString () ist eine statische Methode, die versucht, viele verschiedene Argumente zu verwenden und sie in eine sinnvolle Zeichenfolge umzuwandeln. Object.ToString () wird auch fehlschlagen, wenn das Objekt, das es aufruft, null ist.

Darüber hinaus konvertiert Object.ToString () das Objekt nicht immer in die Zeichenfolgenform, die Sie möglicherweise erwarten. Zum Beispiel gibt die Basisfunktion Object.ToString () immer den vollständig qualifizierten Typnamen des Objekts zurück. Jede Klasse kann ToString () implementieren, wie sie es wünscht, und das muss nicht unbedingt etwas Sinnvolles sein.

    
Jonathan Henson 03.09.2011 05:16
quelle
1

Es gibt einen grundlegenden Unterschied zwischen Convert.ToString und .Tostring. Convert.ToString behandelt die Null-Ausnahme, aber .Tostring löst den Fehler

aus     
Narendra Gupta 03.09.2011 05:19
quelle

Tags und Links