如何在 C# 的 BindingList 中移动项目?比如说,将最后添加的项目移到前面,还是与上一个项目交换?
问问题
6592 次
2 回答
5
static void Main(string[] args)
{
BindingList<string> list = new BindingList<string>();
list.Add("Hello");
list.Add("World");
list.Add("Test");
MoveLastToFirst(list);
Swap(list, 1, 2);
foreach (string s in list)
Console.WriteLine(s); // Prints Test World Hello
}
private static void MoveLastToFirst<T>(BindingList<T> list)
{
int cnt = list.Count;
T temp = list[cnt - 1];
list.RemoveAt(cnt - 1);
list.Insert(0, temp);
}
private static void Swap<T>(BindingList<T> list, int first, int second)
{
T temp = list[first];
list[first] = list[second];
list[second] = temp;
}
于 2009-04-18T19:04:05.647 回答
3
BindingList 具有实现 IList<> 的 Items 属性
所以你可以使用Insert()
和RemoveAt()
于 2009-04-18T18:55:48.180 回答