如何在 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