エンジニアの将来って?

現在7年目のCOBOL→Java→C#エンジニアが、将来への考えや勉強のアウトプット、たまに腎臓について書くブログです

【C#】配列からListに変換するやり方を解説します

こんにちは。たいら(@tairaengineer2)です。
この記事では、C#配列からListに変換するやり方について解説します。

前提条件

この記事では、Visual Studio 2017 Communityを使っています。
インストールの仕方は、下の記事をご参考ください。

www.tairax.com

配列からListに変換するやり方

配列からListに変換するやり方は2つあります。
それは

  1. for文で追加していく
  2. AddRangeメソッドを使う

です。
では、実際のプログラムを見てみましょう。

配列からListに変換し、その結果をコンソールに表示するプログラムです。
コンソールプロジェクトを作成するやり方は下の記事をご参考ください。

www.tairax.com

配列からListに変換するプログラム

using System;
using System.Collections.Generic;

/// <summary>
/// 配列をListに変換するクラス
/// </summary>
namespace ConsoleApp1
{
    class Program
    {
        /// <summary>
        /// メイン
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            // Listに追加する配列
            string[] countryArray = new string[] {"Japan", "America","France","China"};

            // for文で追加するListとaddRangeメソッドで追加するList
            List<string> forList = new List<string>();
            List<string> addRangeList = new List<string>();

            // for文で追加
            foreach(string country in countryArray)
            {
                forList.Add(country);
            }

            // AddRangeメソッドで追加
            addRangeList.AddRange(countryArray);

            // 結果を表示
            Console.WriteLine("for文で追加した結果");
            forList.ForEach(x => Console.WriteLine(x));
            Console.WriteLine("--------------------");
            Console.WriteLine("AddRangeメソッドで追加した結果");
            addRangeList.ForEach(y => Console.WriteLine(y));
        }
    }
}

実行結果

f:id:Tairax:20190110083746p:plain

for文で追加した結果
Japan
America
France
China
--------------------
AddRangeメソッドで追加した結果
Japan
America
France
China
続行するには何かキーを押してください . . .

どちらも同じ結果になりましたね!
では、解説します。

解説

AddRangeメソッドについて解説します。

AddRangeメソッドについて

List<T>.AddRange(IEnumerable<T>) Method

名前空間:System.Collections.Generic
Assemblies:System.Collections.dll, mscorlib.dll, netstandard.dll
指定したコレクションの要素を List<T> の末尾に追加します。

public void AddRange (System.Collections.Generic.IEnumerable<T> collection);

AddRangeから引用させて頂きました

リストに引数で指定したコレクションを追加するときに使うのがAddRangeメソッドです。
このメソッドで追加できるから便利ですね。
AddRangeメソッドとfor文で追加しているのと比較してみます。
まず、AddRangeメソッドを見ます。

addRangeList.AddRange(countryArray);

次にfor文で追加しているのを見ます。

foreach(string country in countryArray)
{
   forList.Add(country);
}

AddRangeメソッドの方がコードがシンプルですね!
リストに追加するときは、AddRangeメソッドを使いましょう!

まとめ:配列からListに変換するときはAddRangeメソッドを使おう!

以上が配列からListに変換するやり方の解説です。
変換するときは、AddRangeメソッドを使いましょう!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

 

ほかにもC#勉強記事を書いてます。
よければご参考ください。

【C#】xmlを読み込む、XDocumentとXElementについて解説します。

【C#】名前付き引数について解説します。

【C#】string.Formatと文字列補完を解説します