具有多个注释表的多对象

时间:2019-04-29 11:09:32

标签: c# oop arraylist

我在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);

预先感谢

1 个答案:

答案 0 :(得分: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())
};