C# で配列の要素を削除する方法

Minahil Noor 2023年12月11日
  1. C# で配列の要素を削除するには where() 節を使用する
  2. シフトプログラムを使って C# で配列の要素を削除する
C# で配列の要素を削除する方法

この記事では、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

関連記事 - Csharp Array