• 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

  • 相关阅读:
    第09组 Beta冲刺(3/4)
    第09组 Beta冲刺(2/4)
    第09组 Beta冲刺(1/4)
    第09组 Alpha事后诸葛亮
    王之泰201771010131《面向对象程序设计(java)》第一周学习总结
    正则表达式
    单逻辑运算符和双逻辑运算符的不同之处
    C++11 Java基本数据类型以及转换
    Java中赋值常量的注意事项
    程序命名规则
  • 原文地址:https://www.cnblogs.com/CnKker/p/3288554.html
Copyright © 2020-2023  润新知