C# 当未使用order by时,是否指定Linq到对象联接的默认顺序?
我有以下疑问C# 当未使用order by时,是否指定Linq到对象联接的默认顺序?,c#,.net,linq,linq-to-objects,C#,.net,Linq,Linq To Objects,我有以下疑问 IEnumerable<string> values = from first in goodOrdered join second in badOrdered on first.ToLower() equals second.ToLower() select second; IEnumerable values=从顺序中的第一个开始 在第一个上加入第二个。ToLower()等于 第二,托洛尔() 选择第二个; 目前,我的测试显示最终结果实际上是有序的,就像我想要的
IEnumerable<string> values = from first in goodOrdered
join second in badOrdered on first.ToLower() equals
second.ToLower()
select second;
IEnumerable values=从顺序中的第一个开始
在第一个上加入第二个。ToLower()等于
第二,托洛尔()
选择第二个;
目前,我的测试显示最终结果实际上是有序的,就像我想要的那样。我可以期望它总是正确的吗?或者我应该提供一个ORDERBY语句,强制保持GoodOrder(这将使查询更加复杂,因为goodOrdered可能看起来像1、9、2、7、6)?是的,确实如此。根据报告: Join保留outer元素的顺序,并为每个 这些元素,内部匹配元素的顺序 当然,如果文件中没有具体说明,这将是一个完全不同的问题。你可能想考虑的另一个问题是负责维护代码的开发人员,以及你是否希望他们知道/记住加入的合同包括保护外部序列的顺序……/P>