我在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);
预先感谢
答案 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())
};