刷新数组元素

时间:2013-02-15 09:05:09

标签: c# .net

我正在使用数组控件,我将逐一保存值。

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

例如......

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

请帮忙......

提前谢谢,,,

5 个答案:

答案 0 :(得分:8)

听起来你应该使用List<string>而不是数组,这将完全给出你所描述的功能。

虽然阵列可以调整大小(感谢@Austin Brunkhorst),但这并不“便宜”,你需要自己移动一切。

应该注意的是,使用大量插入和删除列表可能效率非常低,因此使用LinkedList<string>会更好。这些都有优点和缺点。 Google linked list了解更多信息。

答案 1 :(得分:3)

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

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

如果您使用List<string>,则可以使用List.RemoveList.RemoveAt等方法。

答案 2 :(得分:3)

当你有静态数据量时你应该使用数组,但是当你有dinamic数据量时你应该使用List&lt;&gt;。

答案 3 :(得分:2)

如果您要在收藏中的任意位置添加/删除条目,那么最好使用LinkedList<string>而不是

答案 4 :(得分:2)

您可以使用List

代替Array
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(“斗牛犬”); //删除斗牛犬

RemoveAt   例如:list.RemoveAt(1);

RemoveAll