Hallo zusammen!
Hier also mein erster Hilferuf an die Gemeinschaft.
Die Problemstellung: Ich möchte für ein Consolenprogramm eine allgemeine Methode zur Ausgabe eines Strings mit Platzhaltern erstellen. Die Anzahl der in den String zu integrierenden Variablen soll allerdings immer unterschiedlich sein können! (Selbstredend muss Anzahl der Platzhalter == Anzahl der Variablen sein.)
Zur Verdeutlichung, im Prinzip etwas in dieser Art:
|
C#-Quelltext
|
1
2
3
4
5
6
7
8
9
10
|
string text = "Hier soll der erste Wert stehen: {0} und hier der zweite: {1}"; // oder eben alternativ ein Text mit mehr als zwei Platzhaltern...
int zahl1 = 10;
int zahl2 = 20;
Ausgabe(text, zahl2, zahl2); // ... die dann mit der passenden Anzahl von Integerwerten gefüllt werden.
public void Ausgabe(string ausgabetext, params int[] werte)
{
Console.WriteLine(ausgabetext, //.... TJA, UND HIER LIEGT DER HASE IM PFEFFER!
}
|
Wenig überraschend wird das Array
werte nicht akzeptiert. Gibt es dennoch eine Möglichkeit, dieses Vorhaben umzusetzen? Wie sähe das Snippet aus, dass mir eine Anzahl von
werte.GetLength() Elementen in den
ausgabetext integriert?
Ich
meine, dass ich in irgend einem Beispiel auf der MSDN-Seite so etwas mal gesehen habe. Es ging dort allerdings eigentlich um irgend etwas ganz anderes und ich kann den betreffenden Eintrag beim besten Willen nicht mehr finden. Aber vielleicht irre ich mich ja auch und das Beispiel hat mit einer festgelegten Anzahl Variablen gearbeitet. Diese Implementierung wäre dann freilich vollkommen klar und niemand muss sich hier die Mühe einer exemplarischen Antwort machen...
Ich würde mich über eine hilfreiche Antwort freuen und hoffe dabei, euch mit derartigen Anfängerfragen nicht zu sehr zu langweilen.
Matthias