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

C#で2つのリストを結合するには?AddRange()メソッドの使い方を解説

C#で2つのリストを結合するには?

C#で2つのリスト(List<T>)を1つにまとめたい場合は、AddRange() メソッドを使うのが最もシンプルです。AddRange() は、引数に渡したコレクションの全要素を、呼び出し元のリストの末尾へ一括で追加してくれます。

手順1:最初のリストを作成する

var list1 = new List<string>();
list1.Add("Keyboard");
list1.Add("Mouse");

手順2:2つ目のリストを作成する

var list2 = new List<string>();
list2.Add("Hard Disk");
list2.Add("Pen Drive");

手順3:両方のリストを結合する

list1 に対して AddRange() を呼び出し、引数として list2 を渡すだけで結合できます。

list1.AddRange(list2);

完全なサンプルコード

using System.Collections.Generic;
using System;

namespace Demo {
    public static class Program {
        public static void Main() {
            var list1 = new List<string>();
            list1.Add("Keyboard");
            list1.Add("Mouse");

            Console.WriteLine("list1 の内容:");
            foreach(var p in list1) {
                Console.WriteLine(p);
            }

            var list2 = new List<string>();
            list2.Add("Hard Disk");
            list2.Add("Pen Drive");

            Console.WriteLine("list2 の内容:");
            foreach(var p in list2) {
                Console.WriteLine(p);
            }

            // 2つのリストを結合
            list1.AddRange(list2);

            Console.WriteLine("結合後のリスト:");
            foreach(var p in list1) {
                Console.WriteLine(p);
            }
        }
    }
}

実行結果

list1 の内容:
Keyboard
Mouse
list2 の内容:
Hard Disk
Pen Drive
結合後のリスト:
Keyboard
Mouse
Hard Disk
Pen Drive

補足:元のリストを変更せずに結合する方法

AddRange() は呼び出し元のリスト自体を書き換える点に注意してください。元のリストをそのまま残しつつ、新しい結合済みリストを作成したい場合は、LINQ の Concat() メソッドを ToList() と組み合わせるのが便利です。

using System.Linq;

// 元のリストは変更されず、新しいリストが生成される
var mergedList = list1.Concat(list2).ToList();

この場合、list1・list2 のどちらも変更されず、結合結果は mergedList に格納されます。「既存のリストに追記したい」なら AddRange()、「新しいリストとして作りたい」なら Concat() + ToList() というように、用途に応じて使い分けるとよいでしょう。

  1. JavaScriptで2つの配列を結合する方法【concat()とスプレッド構文】

    JavaScriptで2つの配列を1つにまとめたい場合、最も一般的なのが concat() メソッドです。このメソッドは、元の配列を変更することなく、複数の配列や値を連結した新しい配列を返します。 concat()メソッドの基本構文 let 新しい配列 = 配列A.concat(配列B); サンプルコード 以下は、ボタンをクリックすると2つの配列を結合し、その結果を画面に表示する完全なサンプルです。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8&

  2. Excelで2つの列やリストを比較する方法|初心者にもわかる4つの基本テクニック

    Excelで作業をしていると、2つ以上の列の一致や相違を確認したい場面によく出くわします。列同士の比較自体は難しくありませんが、方法が多数あるため、どれを選べばよいか迷ってしまうこともあるでしょう。この記事では、Excelで列を照合・比較するためのさまざまなテクニックを、具体例とともにわかりやすく解説します。 Excelで2つの列またはリストを比較する4つの方法 ここでは、スーパーマーケットの2つのショールームの商品名が入力された2列のデータセットを用意しました。この2つのショールームのデータを比較していきます。 方法1:等号演算子(=)を使って2つの列を比較する まずは、等号(=)を使って