どうも、ちょげ(@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();
コメント