如何在 C# 中删除数组的元素
Minahil Noor
2023年1月30日
2020年10月17日
本文将介绍使用 C# 代码删除常规数组元素的不同方法,如 where()
子句和移位程序。
在 C# 中使用 where()
子句删除一个数组的元素
在 C# 中,没有现成的方法来删除或添加元素到一个现有的数组。这就是为什么建议使用列表而不是数组。但是我们可以使用 LINQ 的 where()
子句来找到要删除的元素的索引,并跳过该元素。之后,我们将把数组转换成一个没有指定元素的新数组。
下面的程序显示了我们如何使用 where()
子句来删除一个常规数组中的元素。
using System;
using System.Linq;
class StringToFloat {
static void Main(string[] args) {
string[] myArray = {
"a",
"b",
"c",
"d",
"e"
};
Console.WriteLine("Array before deletion");
foreach(string value in myArray) {
Console.WriteLine(value);
}
int indexToRemove = 3;
myArray = myArray.Where((source, index) =>index != indexToRemove).ToArray();
Console.WriteLine("Array after deletion");
foreach(string value in myArray) {
Console.WriteLine(value);
}
}
}
输出:
Array before deletion
a
b
c
d
e
Array after deletion
a
b
c
e
使用 C# 中的移位程序删除数组中的元素
我们将使用元素移位程序来删除常规数组中的元素。
元素移位程序如下。
using System;
using System.Linq;
class StringToFloat {
static void Main(string[] args) {
string[] myArray = {
"a",
"b",
"c",
"d",
"e"
};
Console.WriteLine("Array before deletion");
foreach(string value in myArray) {
Console.WriteLine(value);
}
int pos = 3;
int i;
for (i = pos - 1; i < 4; i++) {
myArray[i] = myArray[i + 1];
}
Console.WriteLine("Array after deletion");
for (i = 0; i < 4; i++) {
Console.WriteLine(myArray[i]);
}
}
}
输出:
Array before deletion
a
b
c
d
e
Array after deletion
a
b
d
e