C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でListの末尾にコレクションの要素を追加する方法(AddRangeメソッドの使い方)

C#で既存のListの末尾に、指定したコレクション(配列など)の要素をまとめて追加したい場合は、AddRangeメソッドを使用します。本記事では、文字列型と数値型のListを例に、AddRangeメソッドの基本的な使い方をコード付きで解説します。

例1:文字列型のListに配列の要素を追加する

まずは、string型のListに対して、string型の配列の要素を末尾に追加する例を見てみましょう。

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main(String[] args){
      List<string> list = new List<string>();
      list.Add("Andy");
      list.Add("Gary");
      list.Add("Katie");
      list.Add("Amy");
      Console.WriteLine("Elements in List...");
      foreach (string res in list){
         Console.WriteLine(res);
      }
      string[] strArr = { "John", "Jacob" };
      list.AddRange(strArr);
      Console.WriteLine("Elements in List...UPDATED");
      foreach(String str in list){
         Console.WriteLine(str);
      }
   }
}

実行結果

上記のコードを実行すると、次のような出力が得られます。

Elements in List...
Andy
Gary
Katie
Amy
Elements in List...UPDATED
Andy
Gary
Katie
Amy
John
Jacob

例2:数値型のListに配列の要素を追加する

続いて、int型のListにint型の配列の要素を追加する例です。使い方は文字列型の場合とまったく同じです。

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main(String[] args){
      List<int> list = new List<int>();
      list.Add(25);
      list.Add(50);
      list.Add(75);
      list.Add(100);
      Console.WriteLine("Elements in List...");
      foreach (int val in list){
         Console.WriteLine(val);
      }
      int[] intArr = { 150, 200, 250, 300 };
      list.AddRange(intArr);
      Console.WriteLine("Elements in List...UPDATED");
      foreach(int val in list){
         Console.WriteLine(val);
      }
   }
}

実行結果

上記のコードを実行すると、次のような出力が得られます。

Elements in List...
25
50
75
100
Elements in List...UPDATED
25
50
75
100
150
200
250
300

AddRangeメソッドのポイント

AddRangeメソッドは、引数として受け取ったコレクション(IEnumerable<T>を実装するオブジェクト)内のすべての要素を、Listの現在の末尾へ順番に追加します。

  • 配列だけでなく、別のListやHashSetなど、さまざまなコレクションを渡すことができます。
  • foreachループで要素を1つずつAddするよりもコードが簡潔になり、意図も明確になります。
  • 追加後のListには、元の要素の後に新しい要素が渡した順序どおり並びます。

複数の要素を一度にListへ追加したい場面では、AddRangeメソッドを活用することで、効率的かつ可読性の高いコードを実現できます。

  1. C#で配列の末尾から指定した数の要素を取得する方法(TakeLastメソッド)

    配列の末尾から要素を取得したい場合は、TakeLast() メソッドを使用します。このメソッドは、シーケンスの最後から指定した数の要素だけを取り出し、残りを無視してくれる便利なLINQ拡張メソッドです。まずは、配列を宣言して初期化します。int[] prod = { 110, 290, 340, 540, 456, 698, 765, 789};次に、この配列から末尾の3つの要素を取得してみましょう。IEnumerable<int> units = prod.AsQueryable().TakeLast(3);ここでは、AsQueryable() で配列をクエリ可能な形式に変換し、

  2. C#でListコレクションから要素を取得する方法

    C#では、List<T>コレクションに格納した要素へ、インデックスを指定するだけで簡単にアクセスできます。本記事では、Listから要素を取得する基本的な方法を、具体的なコード例とともに解説します。 Listへの要素の追加 まず、List<int>型のコレクションを作成し、Addメソッドを使って整数の要素を追加します。 List<int> list = new List<int>(); list.Add(20); list.Add(40); list.Add(60); list.Add(80); インデックスによる要素の取得 リストから特定の