我在2006年学习了C#,并且最近试图回到它.我已经了解到他们在C#3.0中添加了一些名为LINQ Extensions的东西.现在我熟悉扩展方法,我只是在思考那些与IEnumerables相关的细节.
今天早些时候,我和我的一位同事正在讨论以下代码块是否相同:
List<int> integers;
IEnumerable<int> subResult = items.Where(i => IsPrime(i));
IEnumerable<int> orderedResult = subResult.OrderBy(i => i);
Run Code Online (Sandbox Code Playgroud)
与
List<int> integers;
IEnumerable<int> result = items.Where(i => IsPrime(i)).OrderBy(i => i);
Run Code Online (Sandbox Code Playgroud)
他告诉我最新的更有效率,因为扩展使用了它的来源后期查询.我不太清楚我明白他的意思,我想知道他是不对的.