저는 List
이 List<Foo>.
입니다. 유사점과 차이점을 포함하는 두 개의 새로운 컬렉션 List<Foo>
을 만들려고합니다. 나는 다수의 모음을 처리하고있는 동안 대부분의 단일 목록을 처리하고 있으며,이 사이트에 글을 많이 읽고, 아래에있는 내 솔루션 다음 diff
방법에 그러나교차 목록을 가지고 목록을 제거한 채로 제거합니다
List<List<Foo>> listOfLists = [Build up the list, not important]
HashSet<Foo> same = listOfLists
.Skip(1)
.Aggregate(
new HashSet<Foo>(listOfLists.First()),
(h, e) =>
{
h.IntersectWith(e);
return h;
}
);
HashSet<Foo> diff = listOfLists
.Skip(1)
.Aggregate(
new HashSet<Foo>(listOfLists.First()),
(h, e) =>
{
h.ExceptWith(e);
return h;
}
);
, 단지를 반환하는 것 다른 Foo
컬렉션은 ListsofLists
컬렉션에있는 List<Foo>
의 두 번째 컬렉션입니다.
HashSet<Foo> all = listOfLists
.Skip(1)
.Aggregate(
new HashSet<Foo>(listOfLists.First()),
(h, e) =>
{
h.UnionWith(e);
return h;
}
);
HashSet<Foo> diff = all.ExceptWith(same)
이 컨텍스트의 차이를 무엇이라고 부릅니까 : – Grzenio
하나 이상의 목록에서 누락 된 요소 - 올바른 것. – user3010406