zoukankan      html  css  js  c++  java
  • IEnumreable的使用小结

    namespace IEnumreable
    {
        class Person
        {
            public string Name { get; set; }
            public string Sex { get; set; }
            public string Desption { get; set; }
            public int DID { get; set; }
        }

        class Department
        {
            public int ID { get; set; }
            public string Name { get; set; }
        }
        class Program
        {
            private static void Main(string[] args)
            {
                IEnumerable<Person> personlist = new List<Person>()
                    {
                        new Person {Name = "liuming", Sex = "man", Desption = "chianese",DID=1},
                        new Person {Name = "liumingfeng", Sex = "man", Desption = "chianese",DID=2},
                        new Person {Name = "liuminglove", Sex = "man", Desption = "chianese",DID=2},
                        new Person {Name = "liuming1", Sex = "man", Desption = "chianese",DID=1},
                        new Person {Name = "liumingdd", Sex = "man", Desption = "chianese",DID=3}
                    };
                IEnumerable<Department> delist = new List<Department>()
                    {
                        new Department(){ID = 1,Name = "de1"},
                        new Department(){ID = 2,Name = "de2"},
                        new Department(){ID = 3,Name = "de3"}
                    };
                //where就像SQl里面的where一样对集合进行筛选
                var whered = personlist.Where(o => o.Name.Contains("feng"));
                //select就像sql里面的select一样对需要的属性进行映射
                var selected1 = personlist.Select(o => o.Name);
                var selected2 = personlist.Select(o => new { o.Name, Desc = o.Desption });
                //count方法对元素数量进行计数
                int totile = personlist.Count();
                int sub = personlist.Count(o => o.Name.StartsWith("liu"));
                //orderby和thenby排序
                var ordered = personlist.OrderBy(o => o.Name).ThenBy(o => o.Sex);
                var ordered2 = personlist.OrderByDescending(o => o.Name).ThenByDescending(o => o.Sex);
                //join链接查询
                var joined = personlist.Join(delist, p => p.DID, d => d.ID, (p, d) => new { p.Name, p.Sex, p.DID, dname = d.Name });
                //groupby分组结果
                var grouped = personlist.GroupBy(o => o.DID);
                foreach (var item in grouped)
                {
                    foreach (var i in item)
                    {
                        Console.WriteLine(i.Name);
                    }
                }
                //实现多对一的join使用groupjoin
                var groupjoined = delist.GroupJoin(personlist, d => d.ID, p => p.DID, (de, pes) => new { de.ID, de.Name, Persons = pes });
                Console.ReadKey();
            }
        }
    }

  • 相关阅读:
    Centos7下PyCharm2019安装
    企业的web项目类型、企业项目开发流程、立项申请阶段、需求分析、导航菜单、轮播图、退出登录、登录注册、课程列表、创建虚拟环境、依赖包安装、创建项目、调整目录、创建代码版本git、日志配置、异常处理、创建数据库、
    增量式爬取阳光热线网
    分布式爬取阳光热线网
    什么是接口测试,为什么做接口测试
    什么是接口、接口优势、类型(详解)
    187. Repeated DNA Sequences
    274. H-Index
    299. Bulls and Cows
    36. Valid Sudoku
  • 原文地址:https://www.cnblogs.com/lmfeng/p/3003349.html
Copyright © 2011-2022 走看看