从阵列中删除一个项目并向后移动其他项目

Nau*_*kri 4 .net c# arrays

我会直截了当地说.我想以一个统一的差异移动数组中的项目,假设我有这个.

string[] fruits = { "Banana", "Apple", "Watermelon", "Pear", "Mango" };
Run Code Online (Sandbox Code Playgroud)

例如,假设我想删除"Apple",所以我会这样做.

fruits[1] = "";
Run Code Online (Sandbox Code Playgroud)

现在剩下的就是:

{ "Banana", "", "Watermelon", "Pear", "Mango" }
Run Code Online (Sandbox Code Playgroud)

我如何真正删除Apple部分并仅获取:

{ "Banana", "Watermelon", "Pear", "Mango" }
Run Code Online (Sandbox Code Playgroud)

请注意,从"西瓜"到阵列结束的所有项目的索引向后移动1.有任何想法吗?

Yog*_*ogu 9

List门课适合你.它提供了一种Remove自动向后移动后续元素的方法.


Wou*_*ort 6

如果您真的想使用Arrays,可以使用Linq过滤列表并转换为数组:

  string[] fruits = { "Banana", "Apple", "Watermelon", "Pear", "Mango" };

  fruits = fruits.Where(f => f != "Apple").ToArray();
Run Code Online (Sandbox Code Playgroud)

如果您不需要使用数组,请查看List类.列表允许添加和删除项目.