BETA

【C# LINQ】GroupByでグループ化したKeyの配列を生成する

投稿日:2020-01-31
最終更新:2020-01-31

概要

LINQのGroupByとSelectを使用し、グループ化に使用したKeyの配列を作ります。

実行

Type(種類)でグループ化し、グループ化に使用したKeyの配列を生成します。

実行環境

.NET Core 3.1を使用しています。

テストクラス

    class Creature  
    {  
        public Creature(string name, string type, string livingPlace) {  
            this.Name        = name;  
            this.Type        = type;  
            this.LivingPlace = livingPlace;  
        }  

        public string Name        { get; set; } // 名前  
        public string Type        { get; set; } // 種類  
        public string LivingPlace { get; set; } // 生息場所  
    }  

Program.cs

class Program  
{  
    static void Main()  
    {  
        List<Creature> creatures = new List<Creature>()  
        {  
                new Creature("マグロ",     "動物", "海"),  
                new Creature("ヒマワリ",    "植物", "陸"),  
                new Creature("アマモ",     "植物", "海"),  
                new Creature("キリン",     "動物", "陸"),  
                new Creature("モンシロチョウ", "動物", "陸"),  
                new Creature("マダコ",     "動物", "海"),  
                new Creature("イロハモミジ",  "植物", "陸")  
        };  

        // Keyの配列を生成  
        string[] types = creatures  
            .GroupBy(c => c.Type)  
            .Select(c => c.Key)  
            .ToArray() ;  

        foreach(string type in types)  
        {  
            Console.WriteLine(type);  
        }  
    }  
}  

結果

動物  
植物  
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@G6q3PbTRqAPm72nWの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう