SortedList Сравнить

64
7

У меня есть два сортированных списка

 1. oldlist<int,int> 

2. newlist <int,int>

(конкретная информация - ключ является отраслевым, а значение - весом)

Я хочу сравнить изменения в списках.

Я хочу сделать следующее:

    список предметов, где вес не был равен нулю, но ноль в списке.

    список элементов, где вес не равен нулю и изменен из старого списка.

Я знаю, что есть нечто, называемое компаратором. можно ли здесь использовать?

спросил(а) 2021-01-19T13:03:30+03:00 6 месяцев, 1 неделя назад
1
Решение
90

Вы можете использовать Linq:

// list of items where weight was not zero, but its zero in the newlist.
var result1 = from o in oldList
join n in newList on o.Key equals n.Key
where o.Value != 0 && n.Value == 0
select new {Old = o, New = n};

// list of items where weight is not zero and has changed from oldlist.
var result2 = from o in oldList
join n in newList on o.Key equals n.Key
where o.Value != 0 && o.Value != n.Value
select new { Old = o, New = n };

ответил(а) 2021-01-19T13:03:30+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема