Laden...

Format String mit variablen Argumenten

Erstellt von Lexodus vor 15 Jahren Letzter Beitrag vor 15 Jahren 878 Views
L
Lexodus Themenstarter:in
254 Beiträge seit 2005
vor 15 Jahren
Format String mit variablen Argumenten

Hallo Zusammen

Ich hab folgenden Pseudo-Text der dann übersetzt werden sollte.
String.Format("Sie haben folgende Autos gewählt: {0},{1}",arg1,arg2) wobei die Anzahl Autos und deren Platzhalter variabel ist (Benutzerabhängig).

Kann ich hier auch soetwas wie ein "{0-99}" machen oder ein "{0-n}" ersteres hab ich probiert hat net gefunzt und dann im Inet geschaut. Hab da aber immer nur Beispiele mit fixen Argumenten gefunden.

Danke und Gruss

If you can't make it, fake it.

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo Lexodus,

nein, dafür musst du einfach eine Schleife nehmen, in der du jedes Feld einzeln bearbeitest/formatierst.

Eventuell ist auch String.Join eine Option für dich.

herbivore

4.506 Beiträge seit 2004
vor 15 Jahren

Hallo Lexodus,

das kann man nicht wirklich variabel gestalten. Du könntest aber (wenn es immer aneinander gehängt würde) das Einzufügende aufbereiten und schon so darbieten, dass hier auch nur ein Parameter übergeben wird.

Beispiel:


String[] m_Cars = new String[] {"BMW", "Audi", "VW" }

private String TextBuild(String[] p_Cars)
{
   String retVal = String.Empty;

   foreach (String s in p_Cars)
   {
      retVal += s + ", ";
   }

   if (retVal != String.Empty)
   {
      retVal = retVal.TrimEnd(", ");
   }

   return retVal;
}

private void DisplayCars()
{
   Console.WriteLine(String.Format("Sie haben folgende Autos gewählt: {0}", TextBuild(m_Cars));
}

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

L
Lexodus Themenstarter:in
254 Beiträge seit 2005
vor 15 Jahren

Hallo

Danke vielmals für die Hilfe;
Die Idee den einzelnen Platzhalter Wert selbst zu Bauen ist genau das was ich brauche.
(So umgehe ich die Probleme mit den Übersetzern).

Auf jeden Fall danke an Beide!

If you can't make it, fake it.