本文介绍了Select 和 SelectMany 的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在寻找 Select 和 SelectMany 之间的区别,但一直找不到合适的答案.我需要了解使用 LINQ To SQL 时的区别,但我发现的只是标准数组示例.
I've been searching the difference between Select and SelectMany but I haven't been able to find a suitable answer. I need to learn the difference when using LINQ To SQL but all I've found are standard array examples.
谁能提供一个 LINQ To SQL 示例?
Can someone provide a LINQ To SQL example?
推荐答案SelectMany 扁平化返回列表列表的查询.例如
SelectMany flattens queries that return lists of lists. For example
public class PhoneNumber { public string Number { get; set; } } public class Person { public IEnumerable<PhoneNumber> PhoneNumbers { get; set; } public string Name { get; set; } } IEnumerable<Person> people = new List<Person>(); // Select gets a list of lists of phone numbers IEnumerable<IEnumerable<PhoneNumber>> phoneLists = people.Select(p => p.PhoneNumbers); // SelectMany flattens it to just a list of phone numbers. IEnumerable<PhoneNumber> phoneNumbers = people.SelectMany(p => p.PhoneNumbers); // And to include data from the parent in the result: // pass an expression to the second parameter (resultSelector) in the overload: var directory = people .SelectMany(p => p.PhoneNumbers, (parent, child) => new { parent.Name, child.Number });.NET Fiddle 现场演示
更多推荐
Select 和 SelectMany 的区别
发布评论