zoukankan      html  css  js  c++  java
  • Linq SelectMany 交叉连接

     

    示例一

        internal class Program
        {
            private static void Main(string[] args)
            {
                List<Teacher> teachers = new List<Teacher>
                {
                    new Teacher("a",new List<Student1>{ new Student1(100),new Student1(90),new Student1(30) }),
                    new Teacher("b",new List<Student1>{ new Student1(100),new Student1(90),new Student1(60) }),
                    new Teacher("c",new List<Student1>{ new Student1(100),new Student1(90),new Student1(40) }),
                    new Teacher("d",new List<Student1>{ new Student1(100),new Student1(90),new Student1(60) }),
                    new Teacher("e",new List<Student1>{ new Student1(100),new Student1(90),new Student1(50) }),
                    new Teacher("f",new List<Student1>{ new Student1(100),new Student1(90),new Student1(60) }),
                    new Teacher("g",new List<Student1>{ new Student1(100),new Student1(90),new Student1(60) })
                };
    
                IEnumerable<Student1> t1 = teachers.SelectMany(s => s.Students.Where(w => w.Score < 60));
                t1.ToList().ForEach(f => Console.WriteLine(f));
    
                Console.Read();
            }
        }
    
        internal class Student1
        {
            public int Score { get; set; }
    
            public Student1(int score)
            {
                Score = score;
            }
    
            public override string ToString()
            {
                return $"studen1 : {Score}";
            }
        }
    
        internal class Teacher
        {
            public string Name { get; set; }
    
            public List<Student1> Students;
    
            public Teacher(string order, List<Student1> students)
            {
                Name = order;
                Students = students;
            }
        }

    示例二 

                        var query = from left in Enumerable.Range(1, 4)
                                    from right in Enumerable.Range(11, left)
                                    select new { left, right };
    
                        var result = Enumerable.Range(1, 4).SelectMany(left => Enumerable.Range(11, left), (left, right) => new { left, right });
                        
                        foreach (var item in result)
                        {
                            Console.WriteLine(item);
                        }

  • 相关阅读:
    如何避免自己上传的视频或者音频资源被下载
    定期备份服务器上的项目到本地服务器
    查看项目中的laravel的版本
    PHP高并发和大流量的解决方案
    wordpress的安装及使用
    openstack及组件简要介绍
    Java中 如何把Object类型强转成Map<String, String>类型
    JSch基本使用
    Ganymed SSH-2 for Java
    全面解析NIO
  • 原文地址:https://www.cnblogs.com/refuge/p/8150629.html
Copyright © 2011-2022 走看看