zoukankan      html  css  js  c++  java
  • linq学习笔记:将List<T> 转换为 Dictionary<T Key,T Value>

    运用Linq,将List<T> 转换为 Dictionary<T Key,T Value>

    即:List<T>  ToDictionary<T Key,T Value>

    废话不说,看代码:

    示例代码:按照性别分类

    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

  • 相关阅读:
    杜教筛
    单纯形法
    回文树
    模板综合
    不明觉厉的数据结构题2
    gedit脚本
    01分数规划入门
    LCT裸题泛做
    洛谷P4586 [FJOI2015]最小覆盖双圆问题(最小圆覆盖)
    洛谷P1742 最小圆覆盖(计算几何)
  • 原文地址:https://www.cnblogs.com/CnKker/p/3288554.html
Copyright © 2011-2022 走看看