Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IQueryable concat导致忽略订单_C#_Linq - Fatal编程技术网

C# IQueryable concat导致忽略订单

C# IQueryable concat导致忽略订单,c#,linq,C#,Linq,我有两个订购的IQueryable: var stickyMessages = GetStickyMessages(binUser, filterModel, messages); var nonSticky = GetNonStickyMessages(binUser, messages); 我想做的是将它们合并成一个IQueryable,保持两个文件的原始顺序不变 问题是,如果我像这样使用Concat,那么顺序会被忽略: var messagesCombined = stickyMessa

我有两个订购的
IQueryable

var stickyMessages = GetStickyMessages(binUser, filterModel, messages);
var nonSticky = GetNonStickyMessages(binUser, messages);
我想做的是将它们合并成一个
IQueryable
,保持两个文件的原始顺序不变

问题是,如果我像这样使用
Concat
,那么顺序会被忽略:

var messagesCombined = stickyMessages.Concat(stickyMessages);
return messagesCombined;

如果我简单地返回
nonSticky
stickMessages
,则顺序保持不变。我不知道为什么会发生这种情况。

因为在合并两个枚举之后,结果无论如何都不符合顺序,这就是为什么大多数可查询的“翻译人员”在合并之前忽略顺序。你必须在把他们联系在一起后再重申一下订单

另见