반응형
시퀀스 작업 Sequence operations
시퀀스 작업에 포함된 메서드는 SequenceEqual, Concat, Zip 입니다. 시퀀스 작업 메서드는 집합 전체를 대상으로 작업합니다.
두 집합의 모든 요소가 같은 순서대로 있는지 비교하기
var wordsA = new string[] { "cherry", "apple", "blueberry" };
var wordsB = new string[] { "cherry", "apple", "blueberry" };
bool match = wordsA.SequenceEqual(wordsB);
// match = true
var wordsA = new string[] { "cherry", "apple", "blueberry" };
// 순서를 변경하면 결과가 달라집니다.
var wordsB = new string[] { "apple", "blueberry", "cherry" };
bool match = wordsA.SequenceEqual(wordsB);
// match = false
두 집합 연결하기
int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
int[] numbersB = { 1, 3, 5, 7, 8 };
var allNumbers = numbersA.Concat(numbersB);
// allNumbers = { 0, 2, 4, 5, 6, 8, 9, 1, 3, 5, 7, 8 }
Enumerable.Zip
Enumerable.Zip 메서드는 집합 A의 모든 요소와 집합 B의 모든 요소와 하나하나 대조하여 연결하는 메서드입니다. 주로 수학에서 벡터의 내적 곱을 계산할 때 사용됩니다.
int[] vectorA = { 0, 2, 4, 5, 6 };
int[] vectorB = { 1, 3, 5, 7, 8 };
int dotProduct = vectorA.Zip(vectorB, (a, b) => a * b).Sum();
// dotProduct = 109
반응형
'Develop > .NET 가이드' 카테고리의 다른 글
[C#] 병렬 프로그래밍 Parallel Programming (1) - 데이터 병렬화 (0) | 2020.02.05 |
---|---|
[C#] LINQ 사용방법 - 조인 작업 Join, GroupJoin (0) | 2020.02.02 |
[C#] LINQ 사용방법 - 집계 작업 Aggregate (0) | 2020.02.02 |
[C#] LINQ 사용방법 - 집계 작업 Average (0) | 2020.02.02 |
[C#] LINQ 사용방법 - 집계 작업 Max (0) | 2020.02.02 |
꾸준히 노력하는 개발자 "김예건" 입니다.