どうも、ちょげ(@chogetarou)です。
配列(Array)を初期化時に同じ値で埋める方法を紹介します。
方法

配列(Array)を初期化時に同じ値で埋める方法は、2つあります。
Array.Fill()
1つは、Array.Fill()を使う方法です。
まず、配列をインスタンス化します。
そして、Array.Fill()を呼び出します。
Array.Fill()の第1引数に配列、第2引数に値を指定します。
//T=型, count=要素数, value=値
T[] array = new T[count];
Array.Fill(array, value);
Array.Fill()は、第1引数の配列を第2引数の値で埋めます。
使用例
using System;
public class Sample {
public static void Main() {
bool[] myArray = new bool[5];
Array.Fill(myArray, true);
foreach (var i in myArray) {
Console.WriteLine(i);
}
}
}
LinqのEnumerable.Repeat()
もう1つは、System.LinqのEnumurable.Repeat()を使う方法です。
まず、Sytem.Linqを導入します。
using System.Linq;
次に、配列の宣言時にEnumerable.Repeat().ToArray()を代入します。
そして、Repeat()の第1引数に埋める値、第2引数に要素数を指定します。
//value = 値, count = 要素数
T[] myArray = Enumerable.Repeat(value, count).ToArray();
上記のEnumerable.Repeat(value, count).ToArray()は、Repeat()の第2引数の数を第1引数の値で埋めた配列を生成します。
Enumerable.Repeat(value, count).ToArray()で配列を初期化すれば、配列を初期化時に同じ値で埋めることができます。
使用例
using System;
using System.Linq;
public class Example
{
public static void Main()
{
bool[] myArray = Enumerable.Repeat(true, 5).ToArray();
foreach (var i in myArray) {
Console.WriteLine(i);
}
}
}

まとめ
配列(Array)の初期化時に同じ値で埋める方法は、次の2つです。
- Array.Fill()を使う方法
- System.LinqのEnumerable.Repeat()を使う方法
コメント