Array.Clearメソッドでジャグ配列をクリアする場合は、ジャグ配列の1段目に格納されている配列がクリアされヌル参照(null/Nothing)の状態になります。 ジャグ配列に格納されている各配列はクリアされません。
Array.Clearメソッドで2段のジャグ配列をゼロクリアする
using System;
class Sample {
static void Main()
{
// ジャグ配列に格納する配列
int[] arr1 = {0, 1, 2, 3, 4};
int[] arr2 = {5, 6, 7};
// 2段のジャグ配列
int[][] jagged = {
arr1,
arr2,
};
// ジャグ配列をクリア
Array.Clear(jagged, 0, jagged.Length);
Console.WriteLine("jagged[0] == null : {0}", jagged[0] == null);
Console.WriteLine("jagged[1] == null : {0}", jagged[1] == null);
foreach (var elem in arr1) {
Console.Write("{0}, ", elem);
}
Console.WriteLine();
}
}
実行結果
jagged[0] == null : True jagged[1] == null : True 0, 1, 2, 3, 4,