2009-09-30 7 views
2

Comment puis-je formater une chaîne comme ceci:Mise en forme ma chaîne

string X = "'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}'",???? 

Je me souviens que je l'habitude d'être en mesure de mettre une virgule à la fin et spécifiez les données réelles à attribuer à {0}, {1 }, etc.

Une aide?

Répondre

15

Utilisez la méthode string.Format comme dans:


string X = string.Format("'{0}','{1}','{2}'", foo, bar, baz); 
+0

Utilisez des spécificateurs de format à l'intérieur des accolades pour contrôler le formatage des valeurs substituées, c'est-à-dire Si la barre était 2.34, l'utilisation de {1: 0000.0} entraînerait l'impression de la barre sous la forme "0002.3" –

+0

Et vous n'avez pas besoin des guillemets simples pour délimiter les littéraux, tout ce qui n'est pas dans les accolades latérales seront sorties littéralement –

+0

Je suis en train de formater une instruction d'insertion SQL, c'est pourquoi j'utilise des guillemets simples. : P –

1

Utilisez string.Format comme dans

var output = string.Format("'{0}', '{1}'", x, y); 
+0

Juste le destin tentant n'êtes-vous pas ... –

+1

Désolé je ne pouvais pas résister :) –

2
String.Format("'{0}', '{1}'", arg0, arg1); 
2

La méthode String.Format accepte une chaîne de format suivi d'un grand nombre de variables qui sont à être formaté. La chaîne de format se compose d'espaces réservés, qui sont essentiellement des emplacements pour placer la valeur des variables que vous passez dans la fonction.

Console.WriteLine(String.Format("{0}, {1}, {2}", var1, var2, var3)); 
+0

Console.WriteLine soutient également, ainsi vous pouvez omettre le String.Format pour cela. –

+0

Je toujours, oublie toujours ça! THX. –

2

Votre question est un peu vague, mais voulez-vous dire:

// declare and set variables val1 and val2 up here somewhere 
string X = string.Format("'{0}','{1}'", val1, val2); 

Ou demandez-vous quelque chose d'autre?

1

recherchez-vous:

String.Format("String with data {0}, {1} I wish to format", "Foo", "Bar"); 

entraînerait

"String avec des données Foo, Bar je souhaite formater"

6

Une alternative est d'utiliser Join, si vous avez la valeurs dans un tableau de chaînes:

string x = "'" + String.Join("','", valueArray) + "'"; 

(Je voulais juste être différent des utilisateurs 89724362 w ho va vous montrer comment utiliser String.Format ...;)

2

utilisation string.format et mettez spécificateurs de format individuel à l'intérieur des accolades, après le numéro et deux points, comme dans

string s = string.Format(
     " {0:d MMM yyyy} --- {1:000} --- {2:#,##0.0} -- {3:f}", 
     DateTime.Now, 1, 12345.678, 3e-6); 

et , comme vous pouvez le voir dans l'exemple, vous n'avez pas besoin de guillemets simples pour délimiter les littéraux, tout ce qui n'est pas à l'intérieur des accolades sera littéralement sorti