此方法用于将数组中元素的范围设置为每种元素类型的默认值。
句法:
public static void Clear (Array array, int index, int length);
参数:
array: It is an array whose elements need to be cleared.
index: It is the starting index of the range of elements to clear.
length: It is the number of elements to clear.
例外情况:
- ArgumentNullException:如果数组为null
- IndexOutOfRangeException:如果索引小于数组的下限,或者长度小于零,或者index和length的总和大于数组的大小。
下面是说明Array.Clear()方法的示例:
范例1:
// C# program to demonstrate Array.Clear()
// method for int type value
using System;
using System.Collections.Generic;
public class GFG {
// Main Method
public static void Main()
{
// Creating and initializing new the String
int[] myArr = {10, 20, 30, 40};
// Display the values of the myArr.
Console.WriteLine("Array Before Operation:");
// calling the PrintIndexAndValues() method
PrintIndexAndValues(myArr);
Console.WriteLine();
Array.Clear(myArr, 1, 2);
// Display the values of myArr
Console.WriteLine("Array After Operation:");
// calling the PrintIndexAndValues() method
PrintIndexAndValues(myArr);
}
// Defining the method PrintIndexAndValues
public static void PrintIndexAndValues(int[] myArr)
{
for (int i = 0; i < myArr.Length; i++) {
Console.WriteLine("{0}", myArr[i]);
}
}
}
输出:
Array Before Operation:
10
20
30
40
Array After Operation:
10
0
0
40
示例2:对于ArgumentNullException
// C# program to demonstrate
// Array.Clear() method
// for ArgumentNullException
using System;
using System.Collections.Generic;
public class GFG {
public static void Main()
{
try {
// Creating and initializing
// new the Int with null
int[] myArr = null;
// Clearing the myArr
// using Clear() method
Console.WriteLine("Try to clear the element from null Array:");
Array.Clear(myArr, 1, 2);
// Display the values of myArr
Console.WriteLine("Array after operation :");
// calling the PrintIndexAndValues() method
PrintIndexAndValues(myArr);
}
catch (ArgumentNullException e) {
Console.WriteLine();
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
catch (IndexOutOfRangeException e) {
Console.WriteLine();
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
// Defining the method PrintIndexAndValues
public static void PrintIndexAndValues(int[] myArr)
{
for (int i = 0; i < myArr.Length; i++) {
Console.WriteLine("{0}", myArr[i]);
}
}
}
输出:
Try to clear the element from null Array:
Exception Thrown: System.ArgumentNullException
示例3:对于IndexOutOfRangeException
// C# program to demonstrate
// Array.Clear() method
// for IndexOutOfRangeException
using System;
using System.Collections.Generic;
public class GFG {
// Main Method
public static void Main()
{
try {
// Creating and initializing new Int array
int[] myArr = {10, 20, 30, 40};
// Display the values of myArr
Console.WriteLine("Array Before Operation:");
// calling the PrintIndexAndValues() method
PrintIndexAndValues(myArr);
Console.WriteLine();
// Clearing the myArr
// using Clear() method
Console.WriteLine("Taking index out of bound:");
Array.Clear(myArr, -1, 2);
// Display the values of myArr
Console.WriteLine("Array After Operation:");
// calling the PrintIndexAndValues() method
PrintIndexAndValues(myArr);
}
catch (ArgumentNullException e) {
Console.Write("Exception Thrown :");
Console.Write("{0}", e.GetType(), e.Message);
}
catch (IndexOutOfRangeException e) {
Console.Write("Exception Thrown :");
Console.Write("{0}", e.GetType(), e.Message);
}
}
// Defining the method PrintIndexAndValues
public static void PrintIndexAndValues(int[] myArr)
{
for (int i = 0; i < myArr.Length; i++) {
Console.WriteLine("{0}", myArr[i]);
}
}
}
输出:
Array Before Operation:
10
20
30
40
Taking index out of bound:
Exception Thrown :System.IndexOutOfRangeException
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.array.clear?view=netframework-4.7.2