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:

  • 相关阅读:
    Python 学习笔记(九)Python元组和字典(二)
    Python 学习笔记(九)Python元组和字典(一)
    Java适配器模式
    Java原型模式
    Java建造者模式
    java工厂模式
    封装图片处理方法
    TP中的图片水印
    THINKphp中复杂的查询
    THINKphp中常见的Request请求类
  • 原文地址:https://www.cnblogs.com/wuyicqb/p/12728100.html
Copyright © 2011-2022 走看看