Dans un dictionnaire comme celui-ci:
Dictionary<string, string> openWith = new Dictionary<string, string>();
openWith.Add("txt", "notepad.exe");
openWith.Add("bmp", "Paint.exe");
openWith.Add("dib", "Paint.exe");
openWith.Add("rtf", "wordpad.exe");
Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]);
La sortie est:
Pour Key = "rtf" value = wordpad.exe
Que signifie le {0}
?
Vous imprimez une chaîne formatée. {0} signifie d'insérer le premier paramètre suivant la chaîne de format; dans ce cas, la valeur associée à la clé "rtf".
Pour String.Format, qui est similaire, si vous aviez quelque chose comme
// Format string {0} {1}
String.Format("This {0}. The value is {1}.", "is a test", 42 )
vous créez une chaîne "This est un test. La valeur est 42".
Vous pouvez également utiliser des expressions et imprimer des valeurs plusieurs fois:
// Format string {0} {1} {2}
String.Format("Fib: {0}, {0}, {1}, {2}", 1, 1+1, 1+2)
donnant "Fib: 1, 1, 2, 3"
Plus d’informations sur http://msdn.Microsoft.com/en-us/library/txafckwd.aspx , qui traite du formatage composite.
C'est un espace réservé dans la chaîne.
Par exemple,
string b = "world.";
Console.WriteLine("Hello {0}", b);
produirait cette sortie:
Hello world.
En outre, vous pouvez avoir autant d’espaces réservés que vous le souhaitez. Cela fonctionne aussi sur String.Format
:
string b = "world.";
string a = String.Format("Hello {0}", b);
Console.WriteLine(a);
Et vous obtiendriez toujours le même résultat.
En plus de la valeur que vous souhaitez imprimer, le {0} {1}
, etc., vous pouvez spécifier un format. Par exemple, {0,4}
sera une valeur complétée à quatre espaces.
Il existe un certain nombre de spécificateurs de format intégrés et vous pouvez également créer le vôtre. Pour une bonne liste de tutoriels, voir Formatage des chaînes en C #. En outre, il existe un FAQ ici .
Pour référence ultérieure, dans Visual Studio, vous pouvez essayer de placer le curseur dans le nom de la méthode (par exemple, WriteLine) et d’appuyer sur F1 pour obtenir de l'aide sur ce contexte. En fouillant, vous devriez alors trouver String.Format()
, avec de nombreuses informations utiles.
Notez que mettre en surbrillance une sélection (par exemple, double-cliquer ou faire un glisser-sélectionner) et frapper F1 Une recherche de chaîne non-contextuelle (qui a tendance à ne pas suffire à trouver quelque chose d’utile), assurez-vous donc de positionner le curseur n’importe où dans le mot sans le surligner.
Ceci est également utile pour la documentation sur les classes et d'autres types.
C'est un espace réservé pour le premier paramètre, qui dans votre cas est évalué à "wordpad.exe".
Si vous aviez un paramètre supplémentaire, vous utiliseriez {1}
, etc.
C'est un espace réservé pour un paramètre très semblable au spécificateur de format %s
qui agit dans printf
.
Vous pouvez également ajouter des éléments supplémentaires pour déterminer le format, bien que cela soit plus logique avec une variable numérique ( exemples ici ).
C’est ce que nous avons appelé Composite Formatting du .NET Framework pour convertir la valeur d’un objet en sa représentation textuelle et l’incorporer dans une chaîne. La chaîne résultante est écrite dans le flux de sortie.
La méthode surchargée Console.WriteLine (String, Object) Writes la représentation textuelle de l'objet spécifié, suivie du terminaison de ligne courante, vers le flux de sortie standard à l’aide du fichier informations de format spécifiées.