반응형
집합 연산자란?
집합 연산자는 두 집합 간에 관계를 활용하는 연산자이다.
Distinct()
Distinct 메서드는 집합 내에 중복 요소를 제거하기 위해 사용된다.
int[] factorsOf300 = { 2, 2, 3, 5, 5 };
var uniqueFactors = factorsOf300.Distinct();
// uniqueFactors = { 2, 3, 5 };
Union()
Union 메서드는 두 집합을 각 원소가 중복되지 않도록 더한 새로운 집합을 만들때 사용된다.
int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
int[] numbersB = { 1, 3, 5, 7, 8 };
var uniqueNumbers = numbersA.Union(numbersB);
// uniqueNumbers = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Intersect()
Intersect 메서드는 두 집합에서 중복되는 원소만 모아서 새로운 집합을 만들때 사용된다.
int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
int[] numbersB = { 1, 3, 5, 7, 8 };
var commonNumbers = numbersA.Intersect(numbersB);
// commonNumbers = { 5 , 8 };
Except()
Except 메서드는 기준이 되는 A집합에만 존재하며 B집합에 존재하지 않는 원소만 모아서 새로운 집합을 만들때 사용된다.
int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
int[] numbersB = { 1, 3, 5, 7, 8 };
IEnumerable<int> aOnlyNumbers = numbersA.Except(numbersB);
// aOnlyNumbers = { 0, 2, 4, 6, 9 } ;
반응형
'C#' 카테고리의 다른 글
[C#] 가변인자 매개변수 params (0) | 2023.07.25 |
---|---|
[C#] 링크(LINQ) - SequenceEqual, Concat, Zip (0) | 2023.07.20 |
[C#] 링크(LINQ) Take(), Skip() (0) | 2023.07.17 |
[C#] 링크(LINQ) 메서드식 표현 (0) | 2023.07.17 |
[C#] Closure(클로저) 이해하기 (0) | 2023.05.02 |