8
votes

C #: Les étiquettes peuvent être utilisées à la place de numéros avec String.Format?

Référence de ce lien

http://msdn.microsoft.com/en-us/ bibliothèque / b1csw23d.aspx p>

Il semble qu'il ne soit pas possible avec la méthode String.Format d'utiliser des étiquettes au lieu d'indices dans le paramètre de chaîne de format. P>

est là une certaine syntaxe ou fonctionnalité native à la framework .NET qui permet d'utiliser des étiquettes au lieu de 0,1, ..., n? p>

comme exemple, comment peut-on: P>

Console.WriteLine(String.Format("{foo}{bar}{foo}{bar}", 
                                new { foo = "foo", bar = "bar" }));


4 commentaires

Non, il n'y a pas ... bien que cela ne soit pas trop difficile d'écrire cela vous-même.


Ce serait une façon épineuse de le faire. Je suppose que ce n'est pas comme ça parce que le format syntaxe vient de c qui ne fonctionne pas comme ça. Vous pouvez coder votre propre implémentation avec une méthode d'extension.


Dupliqué possible de Formatage de chaînes nommées en C #


Ha Merci, je n'avais pas trouvé celui-là, la réponse acceptée de cette question semble être ce que je cherche.


4 Réponses :


4
votes

Phil Haack a écrit un blog sur un moyen de faire ceci:

http: // Haacked .Com / Archive / 2009/01/04 / Fun-with-nommé-formats-string-and-ed-edge-cas.aspx

Il n'y a pas de chemin intégré à .NET pour y parvenir.


0 commentaires

1
votes

belle question Après avoir ouvert le réflecteur

Il n'y a pas de moyen:

Il compte uniquement dans les chiffres:

Entrez la description de l'image ici


0 commentaires

1
votes

0 commentaires

1
votes

AS de C # 6, vous pouvez utiliser Strings interpolées :

string foo = "foo1";
string bar = "bar2";
Console.WriteLine($"{foo} {bar} {foo} {bar}");


0 commentaires