[C#]リストを初期化で0埋めするには?

C#

どうも、ちょげ(@chogetarou)です。

リスト(List)を初期化で0埋めする方法を紹介します。

スポンサーリンク

方法

リスト(List)を初期化で0埋めする方法は、2つあります。

コンストラクタ

ひとつは、コンストラクタを使う方法です。

まず、「new List()」のようにリストのコンストラクタを呼び出します。

List()の引数に「new T[]」のように配列のコンストラクタを呼び出します。

[]内にリストの要素数を指定します。

//T=型, length=要素数
List<T> myList = new List<T>(new T[length]);

上記のコンストラクタは、初期化でゼロ埋めしたリストを生成します。

使用例

using System;
using System.Collections.Generic;

public class Example
{
	public static void Main()
	{
		List<int> myList = new List<int>(new int[5]);
		
		foreach (int item in myList) 
		{
		    Console.WriteLine(item);
		}
	}
}
出力:
0
0
0
0
0

Linq

もうひとつは、Linqを使う方法です。

まず、System.Linqを導入します。

using System.Linq;

次に、Enumerable.Repeat()を呼び出します。

Enumerable.Repeat()の第1引数に「0」、第2引数に要素数を指定します。

そして、Enumerable.Repeat()からToList()を呼び出します。

//T=型, length=要素数
List<T> myList = Enumerable.Repeat(0, length).ToList();

上記のEnumerable.Repeat()とToList()は、初期化でゼロ埋めしたリストを生成します。

使用例

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

public class Example
{
	public static void Main()
	{
		List<int> myList = Enumerable.Repeat(0, 5).ToList();
		
		foreach (int item in myList) 
		{
		    Console.WriteLine(item);
		}
	}
}
出力:
0
0
0
0
0

まとめ

リスト(List)を初期化で0埋めする方法は、次の2つです。

  • コンストラクタを使う方法
    List<T> myList = new List<T>(new T[length]);
  • Linqを使う方法
    List<T> myList = Enumerable.Repeat(0, length).ToList();

コメント

タイトルとURLをコピーしました