Хорошо, поэтому я пытаюсь сравнить два списка с методом для отображения новых элементов во втором списке. Списки печатаются жестко и в отдельных методах распечатываются на консоли. Единственный способ, которым я смог вытащить каждую запись из обоих списков, - это использовать цикл foreach, но он всегда относится к утверждению о том, что каждая запись не равна, даже если записи являются одинаковыми. Я не знаю, почему это происходит.Сравнение двух списков C#
Вот два закодированных списки
public static List<Student> GetStudentsOld()
{
List<Student> student = new List<Student>();
student.Add(new Student("111", "Michael", "Tucker", "Junior", 10));
student.Add(new Student("222", "Svetlana", "Omelchenko", "Senior", 2));
student.Add(new Student("333", "Michiko", "Osada", "Senior", 7));
student.Add(new Student("444", "Hugo", "Garcia", "Junior", 16));
student.Add(new Student("555", "Cesar", "Garcia", "Freshman", 4));
student.Add(new Student("666", "Fadi", "Fakhouri", "Senior", 72));
student.Add(new Student("777", "Hanying", "Feng", "Senior", 11));
student.Add(new Student("888", "Debra", "Garcia", "Junior", 41));
student.Add(new Student("999", "Terry", "Adams", "Senior", 6));
student.Add(new Student("211", "Bob", "Stephenson", "Junior", 150));
return student;
}
public static List<Student> GetStudentsNew()
{
List<Student> students = new List<Student>();
students.Add(new Student("111", "Michael", "Tucker", "Junior", 10));
students.Add(new Student("222", "Svetlana", "Omelchenko", "Senior", 2));
students.Add(new Student("333", "Michiko", "Osada", "Senior", 7));
students.Add(new Student("311", "Sven", "Mortensen", "Freshman", 53));
students.Add(new Student("444", "Hugo", "Garcia", "Freshman", 16));
students.Add(new Student("555", "Cesar", "Garcia", "Freshman", 4));
students.Add(new Student("666", "Fadi", "Fakhouri", "Senior", 72));
students.Add(new Student("777", "Hanying", "Feng", "Senior", 11));
students.Add(new Student("888", "Debra", "Garcia", "Junior", 41));
students.Add(new Student("411", "Lance", "Tucker", "Junior", 60));
students.Add(new Student("999", "Terry", "Adams", "Senior", 6));
return students;
}
и вот метод, который я пытался сравнить два списка
public static void StudentIDMatch(List<Student> students, List<Student> student)
{
foreach (var ID in students)
{
bool isMatch = false;
do
foreach (var ID2 in student)
{
if (ID2 != ID)
{
isMatch = false;
}
else if (ID.Equals(ID2))
{
isMatch = false;
}
}
while (!isMatch);
}
}
в конечном счете, я пытаюсь найти различия и печатать их вне. Я знаю, что это не совсем, но мне нужно выяснить, как правильно их сравнить, прежде чем я начну заниматься тем, как их распечатать. Также я знаю, что цикл Do While не правильный, и мне нужно его повторить, после того как это исправлено.
Спасибо!
http://stackoverflow.com/questions/5636438/difference-between-two-lists –
вы пробовали простой поиск Google о том, как 'Сравните Список ' –
MethodMan
http://stackoverflow.com/questions/12795 882/quickest-to-compare-two-list – astidham2003