Я перебираю некоторую логику для программы, которую я создаю, которая читает текст через файл .txt, и каждый раз, когда я добираюсь до места, где алгоритм добавляет созданный мной объект класса, он работает, но затем в следующий разнажимает на него, предыдущий объект получает свои данные, измененные на добавляемый в данный момент объект и т. д.
Вот фрагмент кода для предисловия, который находится внутри цикла While и вложен в 3 оператора if.
Вопрос : Почему он перезаписывает все остальные записи?
Моя логика работает на 100%. Я провел тесты на нем более 10 часов со многими точками останова. Также, пожалуйста, будьте полегче со мной. Я полупрофессионал в C #
if (Att == a1)
{
Student s1 = new Student();
s1.Eid = Eid;
s1.Name = Name;
s1.Attempt1 = att1;
AllStudents.Add(s1);
//AllStudents.Add(new Student(Eid,Name, att1));
Eid = line;
Att = "";
qnum = 1;
counter = 1;
}
Вот мой ученикclass
public class Student
{
public string Eid { get; set; }
public string Name { get; set; }
public string[] Attempt1 { get; set; }
public string[] Attempt2 { get; set; }
public string[] Attempt3 { get; set; }
public string[] Att1filler = { "n/a", "n/a", "n/a", "n/a", "n/a", "n/a" };
public string[] Att2filler = {"n/a","n/a","n/a","n/a","n/a","n/a"};
public string[] Att3filler = {"n/a","n/a","n/a","n/a","n/a","n/a"};
public int FinalGrade { get; set; }
public int Grade1 { get; set; }
public int Grade2 { get; set; }
public int Grade3 { get; set; }
public int Grade4 { get; set; }
public Student()
{
FinalGrade = 0;
Attempt1 = Att1filler;
Attempt2 = Att2filler;
Attempt3 = Att3filler;
}
public Student(string Eagid, string name, string[] Att1)
{
Eid = Eagid;
Name = name;
Attempt1 = Att1;
Attempt2 = Att2filler;
Attempt3 = Att3filler;
FinalGrade = 0;
}
public Student(string Eagid, string name, string[] Att1, string[] Att2)
{
Eid = Eagid;
Name = name;
Attempt1 = Att1;
Attempt2 = Att2;
Attempt3 = Att3filler;
FinalGrade = 0;
}
public Student(string Eagid, string name, string[] Att1, string[] Att2, string[] Att3)
{
Eid = Eagid;
Name = name;
Attempt1 = Att1;
Attempt2 = Att2;
Attempt3 = Att3;
FinalGrade = 0;
}
}
И, наконец, так я объявил свой список
public List<Student> AllStudents = new List<Student>();
, а также AllStudents.add(new Student(Eid,Name, att1));
из другого решения, которое я обнаружил, которое все еще не работает для меня.