반응형
Aggregate
namespace : Systme.Linq
Assembly : System.Linq.dll
Aggregate는 정확히는 Enumerable.Aggregate 이다. 반복적으로 일어나는 행위에 대해서 처리되는 메서드 이다.
Overloads
Method | Description |
Aggregate<TSource>(Ienumerable<TSource>, Func<TSource, TSource, TSource>) | 시퀀스에 누적 함수를 적용한다. |
Aggregate<TSource, TAccumulate>(IEnuerable<TSource>, TAccumulate, Func<TAccmulate, TSource, TAcculate>) | 시퀀스에 누적시 삼수를 적용한다. 지정된 시드 값은 초기 누적기 값으롤 사용된다. |
Aggregate<TSource,TAccumulate,TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>) | 시퀀스에 누적기 함수를 적용한다. 지정된 시드 값은 초기 누적기 값으로 사용된다. 지정된 함수는 결과 값을 선택하는데 사용된다. |
Apply Version
Product | Version |
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8 |
.NET Framework | 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
Xamarin.iOS | 10.8 |
Xsamarin.Mac | 3.0 |
Example
string[] fruits = { "apple", "mango", "orange", "passionfruit", "grape" };
string longestName =
fruits.Aggregate("banana",
(longest, next) =>
{
return next.Length > longest.Length ? next : longest;
},
fruit => fruit.ToUpper());
Console.WriteLine("The fruit with the longest name is {0}.",longestName);
반응형
[Result]
The fruit with the longest name is PASSIONFRUIT.
과일 종류들중 가장 길이가 긴 과일을 뽑는 코드이다. Aggregate를 이용해서 최초 'banana' 와 'apple' 을 비교하여 길이를 비교하여 길이가 긴 단어가 반환된다.
'apple' 부터 'grape' 까지 각각 비교되며 longest에 길이가 긴 단어가 설정되며 비교가 다 된 이후 fruit,ToUpper() 를 통해 대문자로 변환된다.
반응형
'Programming > C# & .NET' 카테고리의 다른 글
[.NET] appsettings.json 추가하기 (0) | 2024.05.30 |
---|---|
[C#] Distinct(), DistinctBy() 중복제거 (0) | 2024.01.10 |
[C#] LINQ 란? - 소개 (Language-Integrated Query) (1) | 2023.02.18 |
[C#] XmlElement 여러개 설정 (1) | 2023.01.11 |
[C#] XMl 직렬화, 역직렬화 Method 공유 (2) | 2023.01.06 |
댓글