如何使用c#删除arraylist的数组?
如何从arraylist中删除阵列如何使用c#删除arraylist的数组?,c#,arrays,c#-3.0,arraylist,C#,Arrays,C# 3.0,Arraylist,如何从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(); a
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]
谢谢最简单的方法是使用
List
而不是ArrayList[]
,你可以简单地调用arr.RemoveAt(3)
你不能像从List
或ArrayList
那样从数组中“删除”元素-你只能替换元素。诚然,可以使用复制整个数组块,但这有点难看
更好的解决方案是将代码更改为使用列表
:
List List=新列表
{
新列表{“A”},
新列表{“B”},
新列表{“C”},
新列表{“D”},
新列表{“E”}
};
列表。删除(3);//删除包含“D”的列表
然而,每当我看到使用集合集合的代码时,我就会感到紧张。。。这是什么意思?您是否可以将“内部”字符串列表更改为更有意义的字符串?如果你能给我们提供更多关于大局的信息,那将非常有帮助
哦,尽量避免使用非泛型集合,如ArrayList
。类型安全很重要:)
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"