linq学習ノート:Listを<br>Dictionaryに変換

6731 ワード

Linqを用いてListをDictionaryすなわち、ListToDictionary
 
くだらないことは言わないで、コードを見てください.
サンプルコード:性別別
class Program

    {

        public class Student

        {

            public string Name { get; set; }

            public int Age { get; set; }

            public int Sex { get; set; }

        }

       

 

        static void Main(string[] args)

        {

            List<Student> lstStudent = new List<Student>();

            lstStudent.Add(new Student { Name = "A1", Age = 17, Sex = 0 });

            lstStudent.Add(new Student { Name = "A2", Age = 19, Sex = 1 });

            lstStudent.Add(new Student { Name = "A3", Age = 17, Sex = 1 });

            lstStudent.Add(new Student { Name = "A4", Age = 19, Sex = 0 });

            lstStudent.Add(new Student { Name = "A5", Age = 18, Sex = 1 });

            lstStudent.Add(new Student { Name = "A6", Age = 18, Sex = 0 });

            lstStudent.Add(new Student { Name = "A7", Age = 18, Sex = 1 });

            lstStudent.Add(new Student { Name = "A8", Age = 19, Sex = 0 });

            lstStudent.Add(new Student { Name = "A9", Age = 19, Sex = 0 });



            var dicStudent = lstStudent.GroupBy(p => p.Sex).ToDictionary(p => p.Key, p => p.ToList());

            foreach (var dic in dicStudent)

            {

                Console.WriteLine("Key:{0}", dic.Key);

                foreach (var stu in dic.Value)

                {

                    Console.WriteLine("Name:{0},Age:{1}", stu.Name, stu.Sex.ToString());

                }

            }

            Console.ReadKey();

        }

    }

実際の実行結果:
Key:0

Name:A1,Age:0

Name:A4,Age:0

Name:A6,Age:0

Name:A8,Age:0

Name:A9,Age:0

Key:1

Name:A2,Age:1

Name:A3,Age:1

Name:A5,Age:1

Name:A7,Age:1

 
linQを簡単に利用