zoukankan      html  css  js  c++  java
  • IEnumerable.Select和SelectMany的区别

    例子(一个人可以有多个手机)

    public class People
        {
            public string Name { get; set; }
            public List<Phone> Phone { get; set; }
        }
        public class Phone
        {
            public string Number { get; set; }
            public string color { get; set; }
        }
    
        public class Test
        {
            public void SelectTest()
            {
                var peopleList=new List<People>();
                var phoneList=peopleList.Select(p => p.Phone);//返回值可以近似的看成List<List<Phone>>
                var nameList = peopleList.Select(p => p.Name);//返回值可以近似的看成List<string>
            }
            public void SelectManyTest()
            {
                var peopleList = new List<People>();
                var phoneList = peopleList.SelectMany(p => p.Phone);//返回值可以近似的看成List<Phone>
            }
        }


    总结

    1、SELECT是把操作源的指定元素放到一个新的集合中

    2、SELECTMANY的操作可以看做是两步,第一步与SELECT差不多(生成多个List<Phone>),第二步IEnumerable的元素合并成一个(将List<List<Phone>>合并成新的、大的List<Phone>)

     

      

  • 相关阅读:
    启动Docker容器
    Docker 删除容器
    11.18数据库认证
    10.17权限认证
    9.16角色认证
    8.13数据库认证
    6.11Realm简介
    5.8认证流程分析
    4.7固定信息认证
    20张图表达程序员的心酸
  • 原文地址:https://www.cnblogs.com/dansediao/p/5693026.html
Copyright © 2011-2022 走看看