在List <string> </string>中更改项目位置

时间:2014-04-22 12:43:44

标签: c# asp.net .net list

我有一个包含3个项目的列表

reg.ToList()    Count = 3   System.Collections.Generic.List<string>
[0] "Text0" string
[1] "Text1" string
[2] "Text2" string

我想要更改所有项目位置,首先是位置而不是最后一个,剩下的项目要站起来一个位置

这个例子

[0] "Text1" string
[1] "Text2" string
[2] "Text0" string

2 个答案:

答案 0 :(得分:8)

在获得第一件商品后立即使用RemoveAt方法,然后将其重新添加。

var item = list[0];
list.RemoveAt(0);
list.Add(item);

RemoveAt将比Remove更有效率,因为它不会尝试搜索您的列表并不必要地比较值。

答案 1 :(得分:5)

您可以删除并重新添加列表中的第一项。这样,您的值将位于列表的末尾

var item = reg[0];
reg.Remove(item); //Removes the specific item
reg.Add(item); //add's an item to the end of the list

这也适用于更大的列表,索引也会相应改变

编辑:Crono的解决方案比我的解决方案更快:s