Console.WriteLine(" - {0} {1}", entity01

Fermé
sharpota Messages postés 10 Date d'inscription mardi 13 janvier 2009 Statut Membre Dernière intervention 21 janvier 2009 - 13 janv. 2009 à 10:30
 NomogoLoula - 13 janv. 2009 à 11:16
Bonjour,
dans mon programme j'ai la méthode suivante:

private static void DisplayAllBaseEntity()
{
Console.WriteLine("List of Entity01");
foreach (Entity01 entity01 in Entity01Collection.LoadAll())
Console.WriteLine(" - {0} {1}", entity01.PropEntity01);

}

entity01 est un objet Entity01 et PropEntity01 est une propriété dans mon objet.
Ma question est que je ne comprends pas qu'est ce que ça veut dire "-{0}{1}", car quand j'execute mon programme j'ai l'exception suivante: "L'index (de base zéro) doit être supérieur ou égal à zéro et inférieur à la taille de la liste des arguments"

à la ligne Console.WriteLine(" - {0} {1}", entity01.PropEntity01);
et quand je supprime "-{0}{1}" tout marche nickel et j'ai bien la liste des PropEntity01 affichés sur ma console.

Merci d'avance.

1 réponse

Salut !

Le formatage des lignes de caractères paramétrées, utilisé dans les méthodes WriteLine et dans la méthode statique string.Format fonctionne de telle sorte que si dans le premier argument d'appel tu mets des chiffres entre accolade comme ceci
"Coucou {0} et {1} ... {i} ... bonjour ! {n-1} {n}"
il faut que tu fournisses autant d'arguments à la fonction qu'il y a de nombres différents entre accolade, c'est à dire exactement n+1 arguments.

Toi, tu as 2 nombres entre accolade, et tu ne fournis qu'un paramètre de valeur de remplacement.

Exemple:
Console.WriteLine("- {0} {1}", entity01.PropEntity01, entity02.PropEntity02);
ou encore:
Console.WriteLine("- {0} {1} {2}", entity01.PropEntity01, entity02.PropEntity02, entity03.PropEntity03);

Bon courage ! :)
4