Linq 中常被忽略的几个实用方法
1. SelectMany
将序列的每个元素投影到一个 IEnumerable< T> ,并将结果序列组合为一个序列。
个人理解. 其实就是将一个集合(OrderList)中,每个元素的指定集合类型的属性(OrderDetailList) Union起来.
示例代码:
DB.OrderList.Where(j=>j.OrderTime < dateTime).SelectMany(j=>j.OrderDetailList).ToList(); //返回符合条件的制定订单的所有明细集合.
2. Zip
通过使用指定的谓词函数合并两个序列。
int[] numbers = { 1, 2, 3, 4 };
string[] words = { "one", "two", "three" };
var numbersAndWords = numbers.AsQueryable().Zip(words, (first, second) => first + " " + second);
result: {"1 one" ,"2 two", "3 three" }