bonsoir a tous
étudiant en informatique débutant en C# sur visual studio 2008, j'ai un problème sur le début d'un exercice, et apres de longues heures après lesquelles il me reste peu de cheveux sur la tete, je vous soumet ma requête :
je cherche a créer une liste de type Person, la classe Person intégrant un string étant le nom d'un élève, et une liste représentant sa liste de notes.
je cherche a ce que, lors de la creation de la Person, il y ait des notes differentes. pour ce faire j'ai procédé comme suit :
la classe Person :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 using System; using System.Collections.Generic; using System.Text; namespace targil_6 { class Person { private string _FirstName; public List<int> Grades; public string FirstName { get { return _FirstName; } set { _FirstName = value; } } Person() { FirstName = " "; Grades = null; } public Person(string name, List<int> grades) { FirstName = name; Grades = grades; } } }
la classe Program :
J'ai mis dans le ToString l'impression de la première note de chaque Person, afin de vérifier que tout va bien, et lors du writeline, ca donne 80 pour tous les élèves. En debug, on se rend compte que la note des Person change dans ceux qui sont déjà dans la liste de Persons en même temps qu'évolue la liste de notes sensées être celles du suivant a entrer dans la liste de Persons...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace targil_6 { class Program { static void Main(string[] args) { var Persons = new List<Person>(); var grades = new List<int>(); for (int i = 70; i < 80; i++) { grades.Add(i); } for (int j = 0; j < 10; j++) { for (int k = 0; k < 10; k++) { grades[k] = grades[k] + 1; } Persons.Add(new Person("Firstname" + j, grades)); } foreach (Person item in Persons) { Console.WriteLine(item.ToString()); } Console.ReadKey(); } } }
voila, une idée de ce qui cloche ?
Sinon, petite question en plus, comment initialiser une liste comme celle la lors de sa creation en y integrant immediatement des membres ?
merci d'avance![]()
Partager