我正在使用数组控件,我将逐一保存值。
现在我必须删除其中一个元素并同时刷新它。
例如......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....
请帮忙......
提前谢谢,,,
答案 0 :(得分:8)
听起来你应该使用List<string>
而不是数组,这将完全给出你所描述的功能。
虽然阵列可以调整大小(感谢@Austin Brunkhorst),但这并不“便宜”,你需要自己移动一切。
应该注意的是,使用大量插入和删除列表可能效率非常低,因此使用LinkedList<string>
会更好。这些都有优点和缺点。 Google linked list
了解更多信息。
答案 1 :(得分:3)
如果要调整数组大小,则必须创建一个新元素,并将所有元素从旧元素复制到新元素。
arr = arr.Where(s => s != null).ToArray();
如果您使用List<string>
,则可以使用List.Remove
或List.RemoveAt
等方法。
答案 2 :(得分:3)
当你有静态数据量时你应该使用数组,但是当你有dinamic数据量时你应该使用List&lt;&gt;。
答案 3 :(得分:2)
如果您要在收藏中的任意位置添加/删除条目,那么最好使用LinkedList<string>
而不是
答案 4 :(得分:2)