Sagen wir, wir haben den folgenden Code.Was passiert, wenn Object.ToString aufgerufen wird, wenn der tatsächliche Typ String
var foo = "I am a string";
Object obj = foo;
var bar = obj.ToString();
Was passiert eigentlich?
- Werfen Sie das Obj auf eine Zeichenfolge und ruft dann die ToString-Methode?
- Ruft die ToString-Methode für obj auf, die die Überschreibung von String ohne Casting darstellt?
- Etwas anderes?
Hexe eins ist besser zu tun?
var bar = obj.ToString();
var bar = (string)obj;
Sie stellen 2 Fragen in einem einzigen Thema. –
'ToString' wird von' string' überschrieben, also zu Ihrer ersten Frage, es ist die dritte Option, es findet kein Casting statt, aber 'string.ToString' wird aufgerufen. – DavidG