猿问

用LINQ保持序

用LINQ保持序

我在有序数组上使用LINQto对象指令。我应该做哪些操作来确保数组的顺序不被更改?



慕田峪7331174
浏览 438回答 3
3回答

江户川乱折腾

您实际上是在谈论SQL还是数组?换句话说,您是使用LINQtoSQL还是LINQtoObjects?LINQtoObjects运算符实际上并不改变它们的原始数据源-它们构建的序列实际上是由数据源支持的。唯一改变排序的操作是OrderBy/OrderByDescending/ThenBy/ThenByDescending-即使这样,对于同样有序的元素,这些操作也是稳定的。当然,许多操作会过滤掉一些元素,但是返回的元素将是相同的。如果您转换成不同的数据结构,例如使用ToLookup或ToDictionary,我不认为在这一点上会保留顺序-但无论如何,这有点不同。(我相信,映射到同一键的值的顺序将保留用于查找。)
随时随地看视频慕课网APP
我要回答