[C#]配列(Array)を初期化時に同じ値で埋めるには?

C#

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

配列(Array)を初期化時に同じ値で埋める方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列(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()を使う方法

コメント

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