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

  1. C# で配列の要素を削除するには where() 節を使う
  2. シフトプログラムを使って 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

  • C# 配列への値の追加
  • comments powered by Disqus