반응형
C# (Linq) Aggregate 함수
collection의 전체 데이터(요소)에 대해 누적 방식의 반복작업을 수행한다.
ex)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | using System; using System.Linq; namespace console_20190111 { class Program { static void Main(string[] args) { // MS Example Array string[] fruits = { "apple", "mango", "orange", "passionfruit", "grape" }; // 문자열 사이마다 ", "를 넣어준다. Console.WriteLine(fruits.Aggregate((cur, next) => cur + ", " + next)); // Result : apple, mango, orange, passionfruit, grape } } } |
* Comment
가끔 Aggregate 함수에 대해 해깔려 하시는 분이 계시다
Foreach를 생각해서 결과 값이 "apple, mango, orange, passionfruit, grape, " 이렇게 나와야 되는거 아냐 ? 생각 하실 수 있다.
하지만 Foreach는 마지막 데이터일때도 작업을 하는 반면 Aggregate는 마지막 데이터까지 처리되면 종료된다.
위 코드의 Aggregate 연산
(((("apple" + ", " + "manggo") + ", " + "orange") + ", " + "passionfruit") + ", " + "grape")
컬렉션을 반복해서 누적 해야 될 상황이 필요하다면 활용도가 높아보인다.
반응형
'프로그래밍 > C#' 카테고리의 다른 글
[C#] SQLite Table 존재유무 체크 하고 생성하기 (0) | 2019.10.14 |
---|---|
[C#] Excel Error 0x800ac472 원인 (0) | 2019.06.21 |
[C#] SQLite 맛보기 - DB파일 생성 (0) | 2019.04.05 |
[C#] 문자열 검색 함수 (String.Contains) (0) | 2019.01.21 |
[WinForm] TableLayoutPanel 행 동적으로 컨트롤 하기 (0) | 2019.01.09 |