Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

IEnumerable.ToDictionaryメソッド

Enumerable.ToDictionary(TSource, TKey) メソッド (IEnumerable(TSource), Func(TSource, TKey)) (System.Linq)
指定されたキー セレクター関数に従って、IEnumerable から Dictionary を作成します。

ソースコード

using System;
using System.Collections.Generic;
using System.Linq;

namespace LinqSample {
    class Program {
        static void Main(string[] args) {
            Man[] mans = new Man[] { 
                new Man() { Name = "suzuki taro", Age = 20 },
                new Man() { Name = "sato taro", Age = 21 },
                new Man() { Name = "sato jiro", Age = 20 }
            };

            // Nameをキーにする。
            Dictionary<string, Man> dictionary = mans.ToDictionary(man => man.Name);

            foreach (Man man in dictionary.Values) {
                Console.WriteLine(man);
            }

            Console.ReadKey();
        }
    }

    class Man {
        public string Name { get; set; }
        public int Age { get; set; }

        public override string ToString() {
            return string.Format("Name = {0}, Age = {1}", Name, Age);
        }
    }
}

実行結果