venkatesh (chennai) Ответов: 1

Как сравнить два значения списка и получить разницу в каждом свойстве?


Мне нужно сравнить два значения списка (GroupName,FieldName,Sequence) и получить разницу & одинаковые значения в списке...
Я попробовал некоторые linq C#, но не получил правильных данных.


CompareTwoList | онлайн-компилятор C# | .NET Fiddle[^]

плз помогите

Что я уже пробовал:

var Matches = lstS.Where(y => lstT.Any(z => z.GroupName == y.GroupName)).ToList();
               var MatchesBoth = lstS.Where(y => lstT.Any(z => z.GroupName == y.GroupName && z.FieldName == y.FieldName)).ToList();
               var SourceDiffer = lstS.Where(x => !lstT.Any(z => z.GroupName == x.GroupName && z.FieldName == x.FieldName)).ToList();
               var TargetDiffer = lstT.Where(x => !lstS.Any(z => z.GroupName == x.GroupName && z.FieldName == x.FieldName)).ToList();

Maciej Los

Какого результата вы ожидаете?

venkatesh (chennai)

Источник G1 A 1 IsDiffer
Цель G1 A 2 IsDiffer

Источник G1 B 2 IsDiffer
Цель G1 B 3 IsDiffer

Источник - - - IsDiffer
Цель G1 C 1 IsDiffer

Источник G2 C 1 IsDiffer
Цель - - - IsDiffer

Источник G3 D 1 IsDiffer
Цель - - - IsDiffer

Источник G3 E 1 IsDiffer
Цель - - - IsDiffer

Источник G2 D 1 IsDiffer
Цель - - - IsDiffer

Источник - - - IsDiffer
Цель G2 E 2 IsDiffer

Источник G4 E 2 Совпадение
Цель G4 E 2 Совпадение

1 Ответов

Рейтинг:
0

Gerry Schmitz

Используйте операции "Set".

Операции Набора (C#) | Microsoft Docs[^]