C# で配列の要素を削除する方法
Minahil Noor
2023年12月11日
この記事では、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