2010-11-11 6 views

Antwort

19

Es gibt einen Unterschied, ja. Jedes Objekt verfügt über eine ToString-Methode, aber nicht jedes Objekt kann in eine Zeichenfolge umgewandelt werden.

int i = 10; 
string s1 = i.ToString(); // OK 
string s2 = (string)i; // Compile error. 

object o = 10; 
string s3 = o.ToString(); // OK 
string s4 = (string)o; // Runtime error. 
10

ToString() wirft Ausnahme, wenn das Objekt null ist, (string) Umwandlung nicht.

0

Ja, sie sind beide sehr unterschiedlich.

string anObjectString = (string)anObject; ist ein Typ gegossen oder eine Typumwandlung nur dann erfolgreich sein würde, wenn die Typumwandlung ein gültig ein

ToString() ist eine Methode zur Verfügung, um die ganzen Objekt (e) im Rahmen ist. Es handelt sich um eine virtuelle Methode, bei der die Standardimplementierung den Typnamen des Objekts zurückgibt.

Wir Äpfel mit Birnen zu vergleichen sind hier ..

0

Ja, ToString() ist eine Methode, die jeder Typ implementiert (da jede Art von System.Object erbt, die das Verfahren implementiert). Bestimmte Typen können diese Methode überschreiben, um ihre eigenen benutzerdefinierten überschreibenden Implementierungen bereitzustellen. Ein Aufruf an ToString() sollte immer erfolgreich sein und eine Zeichenfolgeninstanz zurückgeben (obwohl sie für einige Implementierungen null sein kann).

var x = new AnyArbitraryObjectType(); 
var y = x.ToString(); // will always succeed (if ToString has not been overridden, or if it has been overridden properly) 

Ein Cast ist die Konvertierung eines gegebenen Objektverweises in einen als String typisierten Verweis. Wenn die gesendete Referenz keine Zeichenfolge ist, schlägt die Besetzung fehl.

0

grundsätzlich ToString() ist eine Funktion, die eine Zeichenfolge zurückgibt, die das Objekt darstellt, auf das Sie es anwendeten.

String als Typ ist wie ein int - ein primitives (in C# sein ein Objekt)

1

Object.ToString() konvertiert das Objekt in string.If Objekt Nullwert hat dann wird es Ausnahme, da keine werfen null hat die ToString() -Methode.

Während (String) -Objekt ist ein Unboxing-Prozess von Referenztyp zu Werttyp. hier Objektwert kopiert in neue Instanz von String-Typ. Wenn Objekt null ist, wird Nullwert zugewiesen.

0

Wenn Sie nach sicherer Konvertierung von Objekt zu String sind benutzen Sie einfach:

string s = Convert.ToString(o); 
Verwandte Themen