这个问题在这里已有答案:
我在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);
提前致谢
根据所有更新的说法,我们需要更改代码。
首先让我们将已弃用的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())
};