-3

我正在使用数组控件,我在其中一一保存值。

现在我必须删除其中一个元素并同时刷新它。

例如....

string[] arr= new string(25);

arr[0]="A";
arr[1]="B";
arr[2]="C"; and so on....

现在通过删除第二个元素后arr[1]=null;

我想要如下所述的刷新数组...

arr[0]="A";
arr[1]="C"; and so on....

请帮忙...

提前致谢,,,

4

5 回答 5

8

听起来您应该使用 aList<string>而不是数组,这将提供您所描述的功能。

尽管可以调整数组的大小(感谢@Austin Brunkhorst),但这并不“便宜”,您需要自己移动所有东西。

应该注意的是,有大量的插入和删除列表会变得非常低效,所以你最好使用LinkedList<string>. 这些都有优点和缺点。谷歌linked list了解更多信息。

于 2013-02-15T09:07:07.533 回答
3

如果要调整数组的大小,则必须创建一个新元素并将所有元素从旧元素复制到新元素。

arr = arr.Where(s => s != null).ToArray();

如果您要使用 a ,则List<string>可以使用List.Removeor之类的方法List.RemoveAt

于 2013-02-15T09:07:25.210 回答
3

当你有一个静态数据量时,你应该使用数组,但是当你有动态数据量时,你应该使用 List<>。

于 2013-02-15T09:08:54.667 回答
2

如果您要在集合中的任意位置添加/删除条目很多,最好使用 aLinkedList<string>代替

于 2013-02-15T09:08:36.570 回答
2

您可以使用 List 而不是 Array

List<int> list = new List<int>();
list.Add(2);
list.Add(3);
list.Add(5);
list.Add(7);

你会得到更多的选择,比如

包含

存在

指数

对于删除项目,您将获得以下功能

删除 前:dogs.Remove("bulldog"); // 移除斗牛犬

RemoveAt 例如:list.RemoveAt(1);

移除所有

于 2013-02-15T09:10:27.533 回答