繁体   English   中英

重新排序C#中BindingList中的项目?

[英]Reordering items in BindingList in C#?

如何在C#中的BindingList中移动项目? 比如说,将最后添加的项目移到前面,或者与之前的项目交换?

    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;
    }

BindingList有一个Items属性,用于实现IList <>

所以你可以使用Insert()RemoveAt()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM