728x90
Except()를 사용하여 비교할 수 있다.
var firstNotSecond = list1.Except(list2).ToList();
var secondNotFirst = list2.Except(list1).ToList();
위의 firstNotSeconds는 list1에서 list2를 제외하여 리스트로 변환하고,
secondNotFirst는 반대로 list2에서 list1를 제외하여 리스트로 변환한다.
그런 다음 아래와 같이 Any()메서드로 두 리스트가 비어있는지 확인하여
결과적으로 두 List가 같은지 비교할 수 있다.
!firstNotSeconds.Any() && !secondNotFirsts.Any();
이들을 다음과 같이 메서드로 구현할 수 있다.
private bool getIsEqualTwoLists(List<T> list1, List<T> list2)
{
var firstNotSeconds = list1.Except(list2).ToList();
var secondNotFirsts = list2.Except(list1).ToList();
return !firstNotSeconds.Any() && !secondNotFirsts.Any();
}
#References
반응형
'Language > C#' 카테고리의 다른 글
[.NET] Garbage Collector에 대해 (0) | 2023.07.20 |
---|---|
[C#] int형 변수끼리 나눗셈 결과 소숫점 이하 값이 버려지는 현상 (0) | 2023.07.02 |
[C#] Interlocked.Increment (0) | 2023.05.29 |
[C#] Array와 List의 차이점, 각각을 어느 상황에 써야 할까? (2) | 2023.01.28 |
[C#] Dictionary에 대해 (0) | 2023.01.28 |