考虑以下示例代码
System.Collections.ArrayList fruits = new System.Collections.ArrayList();
fruits.Add("mango");
fruits.Add("apple");
fruits.Add("lemon");
IEnumerable<string> query = fruits.Cast<string>()
.OrderBy(fruit => fruit)
.Where(fruit => fruit.StartsWith("m"))
.Select(fruit => fruit);
我有两个问题:
- 如果
Where
本身返回相同类型,我是否需要编写最后一个Select
子句呢?这个例子来自MSDN,为什么他们总是写它? - 这些方法的正确顺序是什么?顺序是否会影响结果?如果我交换
Select
和Where
或OrderBy
会发生什么?