首页 >后端开发 >C++ >哪些 LINQ 操作保留数组的原始顺序?

哪些 LINQ 操作保留数组的原始顺序?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-25 21:11:11355浏览

Which LINQ Operations Preserve the Original Order of an Array?

在 LINQ 查询中保留顺序

在有序数组上使用 LINQ 操作时,保持数组的原始顺序至关重要。本文将研究哪些操作会保留数组的顺序,以及哪些操作会更改或重新定义数组的顺序。

绝对保留顺序

以下操作不会更改数组的顺序:

  • AsEnumerable:转换现有的IEnumerable 到另一个 IEnumerable 而不影响顺序。
  • Cast:将元素转换为新类型,保留其序列。
  • Concat:附加两个序列共同维护各自的秩序序列。
  • Select:将源元素映射到结果元素而不重新排序。
  • ToArray:将序列转换为数组,保留其顺序。
  • ToList:将序列转换为列表,保留其

保留顺序

这些操作过滤或添加元素而不重新排序数组:

  • 不同:删除重复元素,同时保留剩余元素的顺序elements.
  • Except:返回源序列中存在但不在指定序列中的元素,保留源序列的顺序。
  • Intersect :返回两个序列中存在的元素,保留两个序列的顺序序列。
  • OfType:按类型过滤元素,保留匹配元素的顺序。
  • Prepend:将元素添加到序列的开头序列(.NET 中的新功能4.7.1).
  • Skip:从序列开头跳过指定数量的元素,保留剩余元素的顺序。
  • SkipWhile :当指定条件为真时,从序列开头跳过元素,保留剩余元素的顺序
  • Take:从序列开头返回指定数量的元素,保留其顺序。
  • TakeWhile:返回来自序列的元素当指定条件为真时序列的开始,保留它们order.
  • Where:按指定条件过滤元素,保留匹配元素的顺序。
  • Zip:将来自两个序列的元素配对压缩序列(.NET 4 中的新功能),维护每个序列的顺序。

以上是哪些 LINQ 操作保留数组的原始顺序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn