[C#]配列(Array)を全て同じ値で埋めるには?

C#

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

配列(Array)を全て同じ値で埋める方法を紹介します。

スポンサーリンク

方法

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

配列(Array)を全て同じ値で埋める方法は、3つあります。

Array.Fill()

1つ目は、Array.Fill()を使う方法です。

まず、Array.Fill()を呼び出します。

そして、Array.Fill()の第1引数に配列、第2引数に値を指定します。

Array.Fill(array, value); //arrayの値を全てvalueに

Array.Fill()は、第1引数の配列の要素を全て第2引数の値にします。

使用例

using System;

public class Example
{   
	public static void Main()
	{
		int[] myArray = new int[5] {1, 2, 3, 4, 5};
		
		Array.Fill(myArray, 0);
		
		foreach (var i in myArray) 
		{
		    Console.WriteLine(i);
		}
 	}
}

forループ

2つ目は、forループを使う方法です。

for文を使って配列(Array)を全て同じ値で埋めるには、Lengthを使います。

まず、変数の初期値を「0」、配列のLength未満を条件にしてforループします。

そして、ループ処理で、配列のループカウンタ変数のインデックスに値を代入します。

そして、Repeat()の第1引数に埋める値、第2引数に配列のLengthを指定します。

for (var i = 0; i < array.Length; i++)
{
     array[i] = value;
}

上記のforループで、配列の全要素が同じ値で埋められます。

使用例

using System;
public class Example
{   
	public static void Main()
	{
		int[] myArray = new int[5] {1, 2, 3, 4, 5};
		
		for (var i = 0; i < myArray.Length; i++)
		{
		    myArray[i] = 100;
		}
		
		foreach(var i in myArray)
		{
		    Console.WriteLine(i);
		}
 	}
}

System.LinqのEnumerable.Repeat()

3つ目は、System.LinqのEnumerable.Repeat()を使う方法です。

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

using System.Linq;

次に、配列にEnumerable.Repeat().ToArray()を代入します。

そして、Repeat()の第1引数に埋める値、第2引数に配列のLengthを指定します。

array = Enumerable.Repeat(value, array.Length).ToArray();

上記のEnumerable.Repeat(value, count).ToArray()は、Repeat()の第1引数の値で埋めた配列を生成します。

上記のEnumerable.Repeat(value, count).ToArray()で生成した配列を、配列に代入すれば、配列を同じ値で埋めることができます。

使用例

using System;
using System.Linq;
public class Example
{   
	public static void Main()
	{
		int[] myArray = new int[5] {1, 2, 3, 4, 5};
		
		myArray = Enumerable.Repeat(10, myArray.Length).ToArray();
		
		foreach (var i in myArray) 
		{
		    Console.WriteLine(i);
		}
 	}
}

まとめ

配列(Array)を全て同じ値で埋める方法は、次の3つです。

  • Array.Fill()を使う方法
  • forループを使う方法
  • System.LinqのEnumerable.Repeat()を使う方法

コメント

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