Я читаю CSV со списком студентов - Имя, Фамилия, ClassLeader, Оценка, Тема, Оценка.
Я хочу добавить нового ученика, если он не существует, или добавить предмет и оценку, только если ученик существует в списке. Код ниже:
class School
{
private int[] Grades = new int[5] { 8, 9, 10, 11, 12 };
public List<Student> Students = new List<Student>();
private HashSet<string> AllSubjects = new HashSet<string>();
public School()
{
}
public void CreateStudents()
{
List<string[]> storedCSVData = CSVHelper.ReadCSV();
//int index = 0;
foreach(string[] lineItem in storedCSVData)
{
//index++;
//if ((index % 6) != 0)
// continue;
string fullName = lineItem[0] + " " + lineItem[1];
int i = Students.IndexOf(x =>
x.GetFullName().Contains(fullName));
if(i >= 0){
Students[i].SubjectScore.Add(lineItem[4],
Convert.ToDouble(lineItem[5]));
continue;
}
Student storedStudent = new Student(lineItem[0],
lineItem[1],
lineItem[2] == "Yes"
`? true : false,`
Convert.ToInt32(lineItem[3]));
Students.Add(storedStudent);
}
foreach(Student s in Students)
Console.WriteLine(s.GetFullName());
}
}
}
В классе ученика:
class Student : Person
{
private bool ClassLeader = false;
private int Grade = 0;
public Dictionary<string, double> SubjectScore = new
Dictionary<string, double>();
public Student(string name, string surname, bool classLeader, int
grade)
{
Name = name;
Surname = surname;
ClassLeader = classLeader;
Grade = grade;
}
public string GetFullName()
{
return Name + " " + Surname;
}
}
Я получаю сообщение об ошибке «Не удается преобразовать лямбда-выражение типа« Студент », потому что это не тип делегата.
Может кто-нибудь, пожалуйста, помогите с этим, я в настоящее время потерян.