Array.Fillメソッドを用いることで、配列内のすべての要素を同じ値に設定することができます。 Array.Clearメソッドが配列内すべてを0に設定するのに対して、Fillメソッドでは任意の値に設定することができます。 また、Clearメソッドと同様に、配列内の範囲を指定してその要素だけを同じ値に設定することもできます。 Array.Fillメソッドは.NET Standard 2.1/.NET Core 2.0以降で使用できます。
Array.Fillメソッドで配列を同じ値で埋める .NET Standard 2.1/.NET Core 2.0
using System;
class Sample {
static void Main()
{
int[] arr = {0, 1, 2, 3, 4};
// 配列の全要素を-1に設定する
Array.Fill(arr, -1);
foreach (var elem in arr) {
Console.Write("{0}, ", elem);
}
Console.WriteLine();
// インデックスが1の要素から3個分を9に設定する
Array.Fill(arr, 9, 1, 3);
foreach (var elem in arr) {
Console.Write("{0}, ", elem);
}
Console.WriteLine();
}
}
実行結果
-1, -1, -1, -1, -1, -1, 9, 9, 9, -1,
Array.Clearメソッドは二次元以上の配列にも対応していますが、Array.Fillメソッドは一次元配列のみに対応しています。