刷新数组元素

问题描述:

我正在使用数组控件,其中我逐个保存值。刷新数组元素

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

例如....

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.... 

请帮助...

在此先感谢,,,

+1

http://*.com/questions/457453/remove-element-of-a-regular-array – Habib 2013-02-15 09:08:13

+0

,使之更加明确,我使用图像阵列,并给你所有的总体思路我上面使用的概率 – neerajMAX 2013-02-15 09:13:11

+0

@neerajMAX:为什么它关系你使用的是哪种类型的aray? – 2013-02-15 09:17:06

这听起来像你应该使用List<string>而不是一个数组,这将给你正在描述的功能。

虽然数组可以调整大小(谢谢@Austin Brunkhorst),但这不是“便宜”,你需要将所有的东西都移动到自己的周围。

应该指出,有很多插入和删除列表可能会非常低效,所以你最好用LinkedList<string>。这些都有优点和缺点。 Google linked list欲了解更多信息。

+0

可以使用'Array.Resize ()'动态调整数组的大小。 – 2013-02-15 09:09:43

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

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

如果你想使用List<string>你可以使用方法,如List.RemoveList.RemoveAt

如果您要添加/在你收集了很多在任意位置删除条目,你会更好使用LinkedList<string>代替

当你有你应该使用数组静态的数据量,但是当你有你应该使用的数据量列表<>。

而是阵列可以用列表去

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

,你会得到更多的选项,如

Contains

Exists

IndexOf

For Removing the items你会得到像

Remove 例如:dogs.Remove(“bulldog”); // Remove bulldog

RemoveAt ex:list。RemoveAt移除(1);

RemoveAll