MRが楽しい

MRやVRについて学習したことを書き残す

C#でConcatを使ってリスト同士を結合する

本日はC#の小ネタ枠です。
C#でConcatを使ってリスト同士を結合する方法です。

Enumerable.Concat

Enumerable.Concatメソッドは2つのIEnumerable型を連結したIEnumerableを返します。
本メソッドを使ってListやDictionaryを1つのシーケンスに繋げることができます。
learn.microsoft.com

int[] dataList1 = new int[] { 0, 1, 2, 3, 4 };
int[] dataList2 = new int[] { 5, 6, 7, 8, 9 };

// Concatでリストを連結
IEnumerable<int> concatDataList = dataList1.Concat(dataList2);

サンプルスクリプト

Enumerable.Concatメソッドを使ってListやDictionaryを連結するサンプルスクリプトを作成しました。
・ConcatTest.cs

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

public class ConcatTest : MonoBehaviour
{
    void Start()
    {
        List<int> dataList1 = new List<int> { 0, 1, 2, 3, 4 };
        List<int> dataList2 = new List<int> { 5, 6, 7, 8, 9 };
        
        // Concatでリストを連結
        var concatDataList = dataList1.Concat(dataList2);
        
        // 連結したデータを表示
        Debug.Log($"concatDataList: {string.Join(", ", concatDataList.Select(data => data.ToString()).ToArray())}");
        
        Dictionary<int, string> dataDictionary1 = new Dictionary<int, string>
        {
            { 0, "Zero" },
            { 1, "One" },
            { 2, "Two" },
            { 3, "Three" },
            { 4, "Four" },
        };
        Dictionary<int, string> dataDictionary2 = new Dictionary<int, string>
        {
            { 5, "Five" },
            { 6, "Six" },
            { 7, "Seven" },
            { 8, "Eight" },
            { 9, "Nine" },
        };
        
        // ConcatでDictionaryを連結
        var concatDataDictionary = dataDictionary1.Concat(dataDictionary2);
        
        // 連結したデータを表示
        Debug.Log($"concatDataDictionary: {string.Join(", ", concatDataDictionary.Select(data => $"{{ {data.Key}, {data.Value} }}").ToArray())}");
    }
}

以下の通り、ListやDictionaryを連結したリストを作成できました。