我想將特定數字移動到此列表的頂部。將列表元素會議條件移動到列表頂部
int numberToBeMovedOnTop = 4;
List<int> lst = new List<int>(){1, 2, 3, 4, 5, 5, 4, 7, 9, 4, 2, 1};
List<int> lstOdd = lst.FindAll(l => l == numberToBeMovedOnTop);
lstOdd.AddRange(lst.FindAll(l => l != numberToBeMovedOnTop));
其中numberToBeMovedOnTop
是一個變量。
這給了我想要的結果,但是這是一個更好的解決方案嗎?我可以迭代列表一次,並將第一個元素numberToBeMovedOnTop
和第二個元素numberToBeMovedOnTop
第二次發生交換,依此類推。但是,這可以用一些內置的C#函數來完成,而不需要兩次迭代列表?
檢查這個問題了,包含了不同的方法負載這樣做http://stackoverflow.com/questions/1668451/use-linq-to-move-item-to-top-of-list –