在 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中文網其他相關文章!