Language/C#
[C#] 두 List가 같은지 비교하기
범데이
2022. 10. 30. 17:59
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
반응형