Überschreiben der toString methode c#?
public override string ToString()
{
return "Mein Text";
}
Geht leider nicht, stattdessen spuckt er mir den Namen meiner Klasse aus in der ich mich befinde.
![](https://images.gutefrage.net/media/user/TechnikSpezi/1445274756831_nmmslarge__0_0_2000_2000_4ac4823b2a1e9d8e0cbf99ab8974f988.jpg?v=1445274757000)
Wie testest du das ganze denn? Also wie kommst du zu dem Output, der laut deinen Angaben den Namen der Klasse ausgibt?
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Console.writeline(A.ToString()); in A wiederum ist ein Objekt der Klasse Chip und dieses Objekt ist bestückt mit einem Array.
1 Antwort
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren, C Sharp, Informatik
Ein einfaches Beispiel zum Vergleichen:
class Dog
{
public override string ToString()
{
return "I am a dog.";
}
}
// Main:
var dog = new Dog();
Console.Write(dog.ToString()); // I am a dog.
// or shorter:
Console.Write(dog); // I am a dog.
Beachte, dass ToString eine objektgebundene (also nichtstatische) Methode ist. Ein Aufruf über den Klassennamen wäre also falsch. Du brauchst erst ein Objekt der Klasse, über die du ToString aufrufen kannst.