多个对象与许多笔记表[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我在C#上有代码,每个对象必须有三个注释,但在下面我发现所有对象都有相同的注释:

ArrayList listStagiaire = new ArrayList();
int i;
for (i = 0; i < notes.Length; i++)
{
    Console.WriteLine("Veuillez saisir la note" + i+"\n");
    notes[i] = double.Parse(Console.ReadLine());
}
//Console.ReadLine();
Stagiaire stg1 = new Stagiaire(compteur++, "karami", "loubna", "TDI",notes);
Stagiaire stg2 = new Stagiaire(compteur++, "Jamal", "Youssef", "TDI", notes);
Stagiaire stg3 = new Stagiaire(compteur++, "Ilham", "Fayrouz", "TRI", notes);
listStagiaire.Add(stg1);
listStagiaire.Add(stg2);
listStagiaire.Add(stg3);

提前致谢

c# oop arraylist
1个回答
3
投票

根据所有更新的说法,我们需要更改代码。

首先让我们将已弃用的ArrayList更改为List<T>然后让我们创建一个函数来获取每个Stagiaire的注释:

private static double[] GetNotes()
{
   var notes = new double[3];

   for (var i = 0; i < notes.Length; i++)
   {
      do
      {
         Console.Clear();
         Console.WriteLine("Veuillez saisir la note" + i + "\n");
      } while (!double.TryParse(Console.ReadLine(), out notes[i]));
   }
   return notes;
}

并使用它:

var listStagiaire = new List<Stagiaire>()
{
   new Stagiaire(compteur++, "karami", "loubna", "TDI", GetNotes()),
   new Stagiaire(compteur++, "Jamal", "Youssef", "TDI", GetNotes()),
   new Stagiaire(compteur++, "Ilham", "Fayrouz", "TRI", GetNotes())
};
© www.soinside.com 2019 - 2024. All rights reserved.