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; } }
本文详细介绍了 LINQ 中的 Join 方法及其用法,并通过具体的 C# 示例代码展示了如何使用 Join 方法来连接两个集合并筛选结果。
3003

被折叠的 条评论
为什么被折叠?



