【发布时间】:2017-04-15 00:44:21
【问题描述】:
我想将特定号码移到此列表的顶部。
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# 函数来完成,而无需两次迭代列表吗?
【问题讨论】:
-
检查这个问题,包含很多不同的方法来做到这一点stackoverflow.com/questions/1668451/…
标签: c#