Bonjour,
Je voudrais savoir si une structure peut contenir une liste en c# et si oui, pouvez vous donner un exemple, car lorsque je met une liste dans une structure il m'indique une erreur...
Merci
-----
Bonjour,
Je voudrais savoir si une structure peut contenir une liste en c# et si oui, pouvez vous donner un exemple, car lorsque je met une liste dans une structure il m'indique une erreur...
Merci
Exemple : j'ai une erreur sur ce qui est en gras, on me dit qu'il ne s'agit pas d'une variable ??
Code:namespace ConsoleApplication2 { class Program { public struct Personne { public string Nom; public string Prenom; public List<adresse> AdressePersonne = new List<adresse>(); } public struct adresse { public string Rue; public int Numero; public string Ville; } static void Main(string[] args) { Personne Nouvellep = new Personne(); Nouvellep.Nom = "Dupond"; Nouvellep.Prenom = "theo"; Nouvellep.AdressePersonne[0].Rue = "rue du soleil levant"; Nouvellep.AdressePersonne[0].Numero = 1; Nouvellep.AdressePersonne[0].Ville = "Versailles"; } } }
Dernière modification par JPL ; 15/01/2013 à 17h51. Motif: Ajout de la balise Code (#) pour garder l'indentation
Un peu mieux, l'erreur est en gras, voici ce que l'on me dit: Impossible d'avoir des initialiseurs de champs dans des structures ...
Code:namespace ConsoleApplication2 { class Program { public struct Personne { public string Nom; public string Prenom; public List<adresse> AdressePersonne = new List<adresse>(); } public struct adresse { public string Rue; public int Numero; public string Ville; } static void Main(string[] args) { List<Personne> ListeDesPersonnes = new List<Personne>(); Personne Nouvellep = new Personne(); Nouvellep.Nom = "Dupond"; Nouvellep.Prenom = "Theo"; for (int i = 0; i <= 2; i++) { adresse Nouvellead = new adresse(); Nouvellead.Numero = i; Nouvellead.Ville = "Saulx les chartreux"; Nouvellead.Rue = "Soleil Levant"; Nouvellep.AdressePersonne.Add(Nouvellead); } ListeDesPersonnes.Add(Nouvellep); Console.WriteLine(ListeDesPersonnes[0].Nom); Console.WriteLine(ListeDesPersonnes[0].Prenom); Console.WriteLine(ListeDesPersonnes[0].AdressePersonne[0].Numero.ToString()); Console.WriteLine(ListeDesPersonnes[0].AdressePersonne[1].Numero.ToString()); Console.WriteLine(ListeDesPersonnes[0].AdressePersonne[2].Numero.ToString()); Console.ReadKey(); } } }
Dernière modification par JPL ; 15/01/2013 à 17h52. Motif: Ajout de la balise Code (#) pour garder l'indentation
Salut,
ton dernier message d'erreur veut simplement dire que tu ne peux pas initialiser le champs de ta structure dans la déclaration de la structure.
Il faut donc probablement que tu enlève " = new List<adresse>()".
Ensuite, tu faudra instancier une personne, puis instancier une liste d'adresse à lui attribuer.
Une fois tout ça fait, tu pourras ajouter des adresses à au champs AdressePersonne.
après, ça fait longtemps que j'ai pas fait de C# et j'ai pas de quoi vérifier là, mais y a des chance que ça fonctionne comme ça.
petit conseil en rab: si pouvais mettre ton code entre des balises [ code ][ /code ] (sans les espaces dans les balises) et l'indenter, ça serait cool
Perfect, sa fonctionne, merci pour ton aide