@soveckii_fonarik
аспирант,начинающий программист - преподаватель

Как сравнить элементы двух списков?

Добрый день. имею листы: lastList и newListUsers типа
public class User
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public long Id { get; set; }
    }

мне необходимо их сравнить, и вывести на экран пользователей, которых нет в одном из этих списков
ума моего хватает только на это
foreach (var itemUser in lastList)
{
    if (!newListUsers.Where(c => c.Id == itemUser.Id).Count() == 0)
    {
        Console.WriteLine("в новом списке не нашлось : "+itemUser.FirstName + " " + itemUser.LastName);
    }
}
foreach (var itemUser in newListUsers)
{
    if (lastList.Where(c => c.Id == itemUser.Id).Count() == 0)
    {
        Console.WriteLine("в старом списке не нашлось : "+itemUser.FirstName + " " + itemUser.LastName);
    }
}


но как по мне, слишком много строк для такой простой задачи :\
да и работает как то не правильно
  • Вопрос задан
  • 410 просмотров
Пригласить эксперта
Ответы на вопрос 1
@fridriekh
Фулл-тайм эникей
Емнип, самый простой способ:

ListC = ListA.Except(ListB).ToList()

Если оба листа имплементят ienumerable, то можно сделать через linq с помощью Where(%запрос%)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы