C# 数组 - Clear() 方法

C# 数组 Clear() 方法用于将数组中一定范围的元素设置为每种元素类型的默认值。要查看有关此方法的文章,请点击此处

异常

Clear()方法有以下异常 -

  • ArgumentNullException:如果数组为空。
  • IndexOutOfRangeException:如果索引小于数组的下限,长度小于 0,或者索引与长度之和超过数组大小,则会发生此异常。

语法

以下是 C# 数组 Clear() 方法的语法 -

public static void Clear (Array array, int index, int length);

参数

此方法接受以下数组 -

  • Array:需要清除元素的数组。
  • Index:待清除元素范围的起始索引。
  • Length:待清除元素的数量。

返回值

此方法不返回任何值。

示例 1:替换为默认值

让我们创建一个 clear() 方法的基本示例,将范围中的元素替换为默认值 0 -

using System;
class Program {
   static void Main() {
      int[] numbers = { 1, 2, 3, 4, 5 };
      Array.Clear(numbers, 1, 3);
      Console.WriteLine(string.Join(", ", numbers));
   }
}

输出

以下是输出 -

1, 0, 0, 0, 5

示例 2:替换为 null 值

让我们看另一个使用 clear() 方法清除字符串数组范围的示例 -

using System;
class Program {
   static void Main() {
      string[] words = { "apple", "banana", "cherry", "date", "elderberry" };
      Array.Clear(words, 2, 2);
      Console.WriteLine(string.Join(", ", words));
   }
}

输出

以下是输出 -

apple, banana, , , elderberry

示例 3:清除整个布尔数组

这是 clear() 方法的另一个示例。通过指定 index = 0 和 length = flags.Length 来清除整个数组 -

using System;
class Program {
   static void Main() {
      bool[] flags = { true, false, true, true, false };
      Array.Clear(flags, 0, flags.Length);
      Console.WriteLine(string.Join(", ", flags));
   }
}

输出

以下是输出 -

False, False, False, False, False

示例 4:清除多维数组的子集

以下示例使用 Clear 方法将数组视为扁平结构,清除索引 3、4 和 5 处的元素 -

using System;
class Program {
   static void Main() {
      int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
      Array.Clear(matrix, 3, 3);
      foreach (int value in matrix) {
         Console.Write(value + " ");          
      }
   }
}

输出

以下是输出 -

1 2 3 0 0 0 7 8 9

csharp_array_class.html