2013-02-15 62 views
-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.... 

請幫助...

在此先感謝,,,

+1

http://stackoverflow.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

回答

8

這聽起來像你應該使用List<string>而不是一個數組,這將給你正在描述的功能。

雖然數組可以調整大小(謝謝@Austin Brunkhorst),但這不是「便宜」,你需要將所有的東西都移動到自己的周圍。

應該指出,有很多插入和刪除列表可能會非常低效,所以你最好用LinkedList<string>。這些都有優點和缺點。 Google linked list欲瞭解更多信息。

+0

可以使用'Array.Resize ()'動態調整數組的大小。 – 2013-02-15 09:09:43

3

如果您想要調整數組的大小,您必須創建一個新的並將所有元素從舊的複製到新的元素。

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

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

2

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

3

當你有你應該使用數組靜態的數據量,但是當你有你應該使用的數據量列表<>。