[C#] LINQ 사용방법 - 집합 연산자 Distinct, Union, Intersect, Except
집합 연산자 Set Operators 집합 연산자는 두 집합 간에 관계를 활용하는 연산자합니다. LINQ 메서드 중 Distinct, Union, Intersect, Except 가 집합 연산자에 해당합니다. 집합 내에 중복 요소 제거하기 Distinct 메서드로 factorsOf300 배열에서 중복을 제거한 uniqueFactors 배열을 만듭니다. int[] factorsOf300 = { 2, 2, 3, 5, 5 }; var uniqueFactors = factorsOf300.Distinct(); // uniqueFactors = { 2, 3, 5 }; 두 집합에서 중복되지 않게 합집합 만들기 Union 메서드는 두 집합을 각 원소가 중복되지 않도록 더한 새로운 집합을 만듭니다. int[] numbe..
[C#] LINQ 사용방법 - 그룹 연산자 Group by into
그룹연산자 Grouping Operators 그룹연산자는 group by 와 into 키워드를 사용합니다. 그룹 연산자는 입력 시퀀스를 주어진 키에 맞춰 바구니에 나눠 담습니다. 바구니에 나눠담기 numbers 배열 원소를 5로 나누었을 때 나머지 값을 기준으로 나누어 담습니다. int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var numberGroups = from n in numbers group n by n % 5 into g select (Remainder: g.Key, Numbers: g); // numberGroups = { // { 0 : [ 5, 0 ] }, // { 4 : [ 4, 9 ] }, // { 1 : [ 1, 6 ] }, // { 3 :..
[C#] LINQ 사용방법 - 분할 연산자 Take, Skip, TakeWhile, SkipWhile
분할 연산자 Partition Operator LINQ 에서 제공하는 확장 메서드 중 Take, Skip, TakeWhile, SkipWhile 을 분할 연산자라 합니다. 왜냐하면 분할 연산자는 출력 시퀀스를 분할시켜 반환하기 때문입니다. Take 분할 연산자 Take 메서드로 numbers 배열에서 처음 3개의 원소만 꺼내 출력 시퀀스를 만듭니다. int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var first3Numbers = numbers.Take(3); // first3Numbers = { 5, 4, 1 }; 출력 시퀀스는 Ienumerable 인터페이스로 반환되므로, LINQ 결과에 Take 메서드를 연결하여 사용할 수 있습니다. List custome..
[C#] LINQ 사용방법 - Select
Select Select 절은 입력 시퀀스를 원하는 출력 시퀀스로 변환합니다. Select 절 입력 시퀸스에 1을 더하여 출력 시퀀스를 만듭니다. int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var numsPlusOne = from n in numbers select n + 1; // numsPlusOne = { 6, 5, 2, 4, 10, 9, 7, 8, 3, 1 }; 하나의 속성만 선택하기 products 객체로 이루어진 입력 시퀀스에서 ProductName 속성으로 출력 시퀀스를 만듭니다. List products = GetProductList(); var productNames = from p in products select p.ProductName;..
꾸준히 노력하는 개발자 "김예건" 입니다.