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

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