String formatieren

Hallo,
ich möchte ein String mit der Format-Methode formatieren. Doch irgendwie funktioniert das nicht:

string sNumber = "";  
sNumber.Format("{0:000}", 47);  

Warum gibt es die Methode Format nicht, wenn doch die Klasse String die Methode kennt: String.Format().

Fehlermeldung:

Error 1 Member ‚string.Format(string, object)‘ cannot be accessed with an instance reference; qualify it with a type name instead C:\Projects\RandomizeFiles\RandomizeFiles\Form1.cs 109

Unter C++ gings doch auch so.

Oder muss ich auf das gute alte sprintf zurückgreifen?

Vielen Dank!

Hallo

Das liegt daran, dass die Format(…)-Methode der String-Klasse eine statische Methode ist, also nur über die Klasse direkt aufgerufen werden kann und nicht über eine Instanz, wie du es vorhattest.

Funktionieren müsste es so

sNumber = string.Format("{0:000}", 47);

MfG IGnow

vielen dank!

so hats geklappt.
Finde ich aber ungewohnt, dass die Methode nicht mehr zu den Instancen gehört.

Hallo!
Statische Methoden sind doch absolut gebräuchlich, was gibt es daran auszusetzen?
Da System.String in .NET zudem unveränderlich ist, ist Format() als statische Methode auch konzeptionell richtig.

Die Meldung, die Dir der Compiler gegeben hat, sagt doch schon alles aus, sogar, was Du tun musst, um den Fehler selbst zu beheben.
Eine grundlegende Fähigkeit beim Programmieren ist nun mal, Meldungen vom Compiler zu verstehen, sonst läuft die Fehlerbehebung auf Trial&Error raus…

Gruß,
Martin