zoukankan      html  css  js  c++  java
  • linq中join的用法

    join方法

    public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(
    	this IEnumerable<TOuter> outer,
    	IEnumerable<TInner> inner,
    	Func<TOuter, TKey> outerKeySelector,
    	Func<TInner, TKey> innerKeySelector,
    	Func<TOuter, TInner, TResult> resultSelector
    )
    outerKeySelector是指要参与比较的第一个序列的元素,
    innerKeySelector是指要参与比较的第二个序列的元素,
    Func<TOuter, TInner, TResult> resultSelector常用一个匿名函数作为透射出来的结果集,
    重载方法的最后一个参数IEqualityComparer<TKey>则是这两个元素的默认比较器。

    示例代码:
    class Program
        {
            static void Main(string[] args)
            {
                List<Person> persons = new List<Person> { new Person { Id = 1, Name = "John" }, new Person { Id = 2, Name = "Mark" }, new Person { Id = 3, Name = "Luke" } };
                List<PersonInfo> personInfos = new List<PersonInfo> { new PersonInfo() { Id = "0", PersonId = 1, Gender = "Male" }, new PersonInfo() { Id = "1", PersonId = 2, Gender = "Female" } };
                var query = persons.Join(personInfos, a => a.Id, b => b.
                    PersonId,
                             (a, b) => new { PersonName = a.Name, PersonGender = b.Gender });
                foreach (var s in query)
                {
                    Console.WriteLine(s.PersonGender + " " + s.PersonName);
                }
                Console.ReadKey();
            }
    
    
        }
        class Person
        {
            public int Id { get; set; }
            public string Name { get; set; }
        }
    
        class PersonInfo
        {
            public string Id { get; set; }
            public int PersonId { get; set; }
            public string Gender { get; set; }
        }
  • 相关阅读:
    不同长度的数据进行位运算
    Linux的sleep()和usleep()的使用和区别
    linux inode已满解决方法
    Debian 系统修改语言设置成英文
    IIS设置问题
    Ajax实现跨域访问的三种方法
    HTML--备忘点
    C#基础---值类型和引用类型
    dapper.net框架使用随笔
    WebService的搭建,部署,简单应用和实体类结合使用
  • 原文地址:https://www.cnblogs.com/Benjamin/p/3224481.html
Copyright © 2011-2022 走看看