CODEKILLER

반응형

Linq - GroupBy 절 출력예제.
Linq - GroupBy 절 출력예제.

public class Example
{
    public static void Main()
    {
        Console.Write("<< Linq - GroupBy 출력 예제 >> \n");

        // Create a list of pets.
        List<Pet> petsList =
            new List<Pet>{ new Pet { Name="CodeA", Age=8.3 },
                           new Pet { Name="CodeB", Age=4.9 },
                           new Pet { Name="CodeC", Age=1.5 },
                           new Pet { Name="CodeD", Age=4.3 } };

        // Math.Floor(pet.Age)를 이용하여 그룹핑.
        var query = petsList.GroupBy(
            pet => Math.Floor(pet.Age),
            pet => pet.Age,
            (baseAge, ages) => new
            {
                Key = baseAge,
                Count = ages.Count(),
                Min = ages.Min(),
                Max = ages.Max()
            });

        // 익명타입을 출력.
        foreach (var result in query)
        {
            Console.WriteLine("\nAge group: " + result.Key);
            Console.WriteLine("Number of pets in this age group: " + result.Count);
            Console.WriteLine("Minimum age: " + result.Min);
            Console.WriteLine("Maximum age: " + result.Max);
        }

        Console.WriteLine(System.Environment.NewLine);
        Console.WriteLine("Press any key to exit");
        Console.ReadKey();
    }
}

class Pet
{
    public string Name { get; set; }
    public double Age { get; set; }
}
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band