如何使用c#删除数组列表中的数组

本文关键字:数组 列表 删除 何使用 | 更新日期: 2023-09-27 18:03:35

如何从arraylist中删除数组

class Program
{
    static void Main(string[] args)
    {
        ArrayList[] arr = new ArrayList[3000];
        int capacityForList = 2;
        int i = 0;
        int j;
        int k;
        arr[i] = new ArrayList();
        arr[i].Add("A");
        i++;
        arr[i] = new ArrayList();
        arr[i].Add("B");
        i++;
        arr[i] = new ArrayList();
        arr[i].Add("C");
        i++;
        arr[i] = new ArrayList();
        arr[i].Add("D");
        i++;
        arr[i] = new ArrayList();
        arr[i].Add("E");
        i++;
    }
}

删除arr[3]

谢谢

如何使用c#删除数组列表中的数组

您不能像从List<T>ArrayList中那样从数组中"删除"元素-您只能替换元素。不可否认,你可以使用Array.Copy复制数组的整个块,但它有点难看。

一个更好的解决方案是将代码更改为使用List<List<string>>:

List<List<string>> list = new List<List<string>>
{
    new List<string> { "A" },
    new List<string> { "B" },
    new List<string> { "C" },
    new List<string> { "D" },
    new List<string> { "E" }
};
list.RemoveAt(3); // Removes the list containing "D"

然而,每当我看到代码使用集合的集合时,我就会紧张……这里的是什么意思?你是否可以将"内部"字符串列表更改为更有意义的内容?如果你能给我们更详细的信息,那就太有帮助了。

哦,尽量避免使用非泛型集合,如ArrayList。类型安全很重要:)

最简单的做法是使用List<ArrayList>代替ArrayList[],您可以简单地调用arr.RemoveAt(3)