有谁知道为什么这两个查询的结果类型不同?带orderby子句的linq查询的返回类型不一致
// q1 is IOrderedEnumerable<int>
var q1 = from c1 in new[] { 1, 2, 3 }
orderby c1
select c1;
// q2 is IEnumerable<int>
var q2 = from c1 in new[] { 1, 2, 3 }
from c2 in new[] { 1, 2, 3 }
where c1 == c2
orderby c1
select c1;
我不能工作了,为什么Q2不也的IOrderedEnumerable<int>
。
使用 '加入' 条款不有所作为:
// q3 is IEnumerable<int>
var q3 = from c1 in new[] { 1, 2, 3 }
join c2 in new[] { 1, 2, 3 }
on c1 equals c2
orderby c1
select c1;
你能澄清一下q2中的SelectMany吗? –
好的解释!谢谢! –