[C#]配列を初期化でゼロ埋めするには?

C#

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

配列(array)を初期化で0埋めする方法を紹介します。

スポンサーリンク

方法

配列(array)を初期化でゼロ埋めする方法は、2つあります。

コンストラクタ

ひとつは、コンストラクタを使う方法です。

まず、「new T[]」のように配列のコンストラクタを呼び出します。

[]内に配列の要素数を指定します。

//T=型, length=要素数
T[] myArray = new T[length];

上記のコンストラクタは、初期化でゼロ埋めした配列を生成します。

使用例

using System;

public class Example
{
	public static void Main()
	{
		int[] nums = new int[5];
		
		foreach (int item in nums) 
		{
		    Console.WriteLine(item);
		}
	}
}
出力:
0
0
0
0
0

Linq

もうひとつは、Linqを使う方法です。

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

using System.Linq;

次に、Enumerable.Repeat()を呼び出します。

Enumerable.Repeat()の第1引数に「0」、第2引数に要素数を指定します。

そして、Enumerable.Repeat()からToArray()を呼び出します。

//T=型, length=要素数
T[] myArray = Enumerable.Repeat(0, length).ToArray();

上記のEnumerable.Repeat()とToArray()は、初期化でゼロ埋めした配列を生成します。

使用例

using System;
using System.Linq;

public class Example
{
	public static void Main()
	{
		int[] nums = Enumerable.Repeat(0, 5).ToArray();
		
		foreach (int item in nums) 
		{
		    Console.WriteLine(item);
		}
	}
}
出力:
0
0
0
0
0

まとめ

配列(array)を初期化でゼロ埋めする方法は、次の2つです。

  • コンストラクタを使う方法
    T[] myArray = new T[length];
  • Linqを使う方法
    T[] myArray = Enumerable.Repeat(0, length).ToArray();

コメント

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