我收到了以下查询
IEnumerable<string> values = from first in goodOrdered
join second in badOrdered on first.ToLower() equals
second.ToLower()
select second;
目前我的测试显示最终结果实际上是goodRrdered,就像我想要的那样。我可以期望永远是真的,或者我应该提供一个强制订单顺序的命令(它会使查询更复杂,因为goodOrdered可能看起来像1,9,2,7,6)?
答案 0 :(得分:9)
是的,确实如此。根据{{3}}:
Join保留外部元素的顺序,并为每个元素保留 这些元素,内在匹配元素的顺序。
当然,如果文档中没有指明,那将是完全不同的事情。您可能要考虑的另一个问题是负责维护代码的开发人员,以及您是否希望他们知道/记住Join的合同包括保留外部序列的顺序......