У меня есть два списка: один из учеников класса, в котором есть все отличники, и другой, в котором есть все ученики и их класс, допустим, я хочу получить всех учеников и их классы, которые находятся в списке отличников:
public class Kids
{
string FirstName;
string LastName;
int Age;
int Grade;
}
public class Students
{
string FirstName;
string LastName;
string Classroom;
}
Я думал использовать что-то вроде этого запроса:
List<Students> students = classroom
.Where(i => honorKids
.Select(j => j.FirstName)
.Contains(i.FirstName) && honorKids
.Select(j => j.LastName)
.Contains(i.LastName)
)
проблема в том, что нет корреляции между именем и фамилией ребенка, поэтому, например, если есть является отличником по имени Джон Безоз, другим отличником Марком Смитом и отличным учеником по имени Джон Смит, он вернется в качестве отличника, поскольку его имя и фамилия находятся в списке отличников, но не в одной строке.
как мне провести сравнение, чтобы убедиться, что имя и фамилия находятся в списке, но в одной строке?