我有一个包含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
答案 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