C# で配列に追加

Muhammad Maisam Abbas 2024年2月16日
  1. C# でリストを使用して配列のサイズを変更する
  2. C# の Array.Resize() メソッドを使用して配列のサイズを変更する
C# で配列に追加

このチュートリアルでは、C# で配列に要素を追加する方法を紹介します。

C# でリストを使用して配列のサイズを変更する

残念ながら、デフォルトでは、配列のサイズを動的に変更することはできません。配列があり、同じ配列にさらに値を追加したい場合は、配列のサイズを変更するためにいくつかのユーザー定義のアプローチに依存する必要があります。最初に C# の ToList() 関数を使用して配列をリストに変換することで、配列のサイズを変更できます。次に、List.Add() 関数を使用してリストに値を追加し、C# の ToArray() 関数を使用してリストを配列に変換し直すことができます。次のコード例は、C# でリストを使用して配列のサイズを変更する方法を示しています。

using System;
using System.Collections.Generic;
using System.Linq;

namespace Resize_Array {
  class Program {
    static void method1() {
      string[] arr = new string[] { "Hi" };
      List<string> ls = arr.ToList();
      ls.Add("Hello");
      ls.Add("World");
      arr = ls.ToArray();
      foreach (var e in arr) {
        Console.WriteLine(e);
      }
    }
    static void Main(string[] args) {
      method1();
    }
  }
}

出力:

Hi
Hello
World

arr.ToList() 関数を使用して、配列 arr をリスト ls に変換しました。ls に新しい要素を追加し、C# の ls.ToArray() 関数を使用して配列に変換し直しました。

C# の Array.Resize() メソッドを使用して配列のサイズを変更する

Array.Resize() メソッドを使用して、C# で同じ目的を達成することもできます。Array.Resize() メソッドは、配列へのポインターをパラメーターとして受け取り、その配列のサイズを指定された数に変更します。次のコード例は、C# で Array.Resize() 関数を使用して配列のサイズを変更する方法を示しています。

using System;
using System.Collections.Generic;

namespace Resize_Array {
  class Program {
    static void method2() {
      string[] arr = new string[] { "Hi" };

      Array.Resize(ref arr, 3);
      arr[1] = "Hello";
      arr[2] = "World";
      foreach (var e in arr) {
        Console.WriteLine(e);
      }
    }
    static void Main(string[] args) {
      method2();
    }
  }
}

出力:

Hi
Hello
World

C# の Array.Resize() メソッドを使用して、配列 arr のサイズを変更しました。Array.Resize() メソッドのパラメーターで、arr への参照と arr の目的のサイズを渡しました。arr 配列に新しい要素を追加し、その配列をユーザーに表示しました。

上記の両方の方法を使用して、要素を配列に追加できます。ただし、動的メモリ割り当ての場合は、配列データ構造の代わりにリストデータ構造を使用する必要があります。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp Array