zoukankan      html  css  js  c++  java
  • Group Join 操作

    GroupJoin

    The GroupJoin operator performs the same task as Join operator except that GroupJoin returns a result in group based on specified group key.
    The GroupJoin operator joins two sequences based on key and groups the result by matching key and then returns the collection of grouped result and key.

    Example

    public class Student {
    	public int StudentID {get;set;}
    	public string StudentName {get;set;}
    	public int StandardID {get;set;}
    }
    
    public class Standard {
    	public int StandardID{get;set;}
    	public string StandardName{get;set;}
    }
    
    IList<Student> studentList =newList<Student>(){
    	newStudent() { StudentID = 1, StudentName = "John", StandardID = 1 },
    	newStudent() { StudentID = 2, StudentName = "Moin" ,StandardID = 1 },
    	newStudent() { StudentID = 3, StudentName = "Bill" ,StandardID = 2 },
    	newStudent() { StudentID = 4, StudentName = "Ram" ,StandardID = 2 },
    	newStudent() { StudentID = 5, StudentName = "Ron" }
    };
    
    IList<Standard> standardList = newList<Standard>(){
    	newStandard() { StandardID = 1, StandardName = "Standard 1" },
    	newStandard() { StandardID = 2, StandardName = "Standard 2" },
    	newStandard() { StandardID = 3, StandardName = "Standard 3" }
    };
    
    var groupJoin = standardList.GroupJoin(studentList,//inner sequence
    	std => std.StandardID,//outerKeySelector
    	s => s.StandardID,//innerKeySelector
    	(std, studentsGroup) => new// resultSelector
    	{
    		Students = studentsGroup,
    		StandarFulldName = std.StandardName
    	});
    
    foreach(var item in groupJoin)
    {
    	Console.WriteLine(item.StandarFulldName);
    	foreach(var stud in item.Students)
    	Console.WriteLine(stud.StudentName);
    }
    

    Results:

    Standard1:
    John,
    Moin,
    Standard2:
    Bill,
    Ram,
    Standard3:

  • 相关阅读:
    linux异常处理体系结构
    网站、架构、集群相关资源
    (转)分布式Web服务器架构的演变与技术需求
    B树、B树、B+树、B*树详解(转)
    (转)事件和路由事件概述
    LCID及Culture Name列表
    触摸键盘概述
    MySQL远端连接设置
    C#实现平衡多路查找树(B树) (转)
    CentOS6.3 LAMP运营环境安装
  • 原文地址:https://www.cnblogs.com/wuyicqb/p/12728100.html
Copyright © 2011-2022 走看看