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:

  • 相关阅读:
    配置Yaf
    计算机科学中最重要的32个算法
    mysql show status详解
    Structs 在Struts.xml中配置action时,action的name属性最好首字母大写
    MyEclipse创建ssh项目和连接数据库
    Myeclipse安装svn插件
    win7安装ubuntu双系统
    Java查看API和源码的方法
    华为oj平台的新网址
    详细解析Java中抽象类和接口的区别
  • 原文地址:https://www.cnblogs.com/wuyicqb/p/12728100.html
Copyright © 2011-2022 走看看