
You have an array and need to zero out all of the elements or just a part of the elements. The Array.Clear method in the C# language is best for this purpose as it provides a one-line, reliable, and understandable way to empty or clear your array. This works on arrays of numbers, booleans, structs and class instances.
This C# example program uses the Array.Clear method. Clear zeros out all elements.

Probably the most common types of arrays use integers or other value types such as char. In the C# language, these types of arrays are always initialized to 0, but sometimes you need to reset the same array to zeros. Here we look at using the Array.Clear method to reset all elements in an int array to zero, without reallocating the array or changing its reference.
Program that uses Array.Clear [C#]
using System;
class Program
{
static void Main()
{
int[] integerArray = new int[]
{
4,
6,
8,
1,
3
};
//
// Display the array
//
Console.WriteLine("--- Integer array before ---");
foreach (int value in integerArray)
{
Console.WriteLine(value);
}
//
// Clear all elements in the array.
//
Array.Clear(integerArray, 0, integerArray.Length);
//
// Display the array
//
Console.WriteLine("--- Integer array after ---");
foreach (int value in integerArray)
{
Console.WriteLine(value);
}
}
}
Output
--- Integer array before ---
4
6
8
1
3
--- Integer array after ---
0
0
0
0
0Description. The int array is declared and initialized to different values in the Main entry point. The values are displayed to the Console. Next, the Array.Clear method is called. The three arguments to Array.Clear specify the array you are clearing, the starting offset to clear, and the number of elements to clear. We use the Length property of the array, and clear all elements.
Here we look at a more real-world example of using Array.Clear. This example shows an array of objects, each with two properties. The Array.Clear method is used to set the first two references in the array to null. We use the Math.Min method for bounds-checking, which avoids possible exceptions.
Program that clears object array [C#]
using System;
class Program
{
class Employee
{
public string Name { get; set; }
public int Salary { get; set; }
}
static void Main()
{
Employee[] employees = new Employee[3];
employees[0] = new Employee() { Name = "Bob", Salary = 10000 };
employees[1] = new Employee() { Name = "Susan", Salary = 13000 };
employees[2] = new Employee() { Name = "John", Salary = 20000 };
//
// Display the employee array.
//
Console.WriteLine("--- Employee array before ---");
foreach (Employee employee in employees)
{
Console.Write(employee.Name);
Console.Write(": ");
Console.WriteLine(employee.Salary);
}
//
// Clear first two elements in employee array.
//
Array.Clear(employees, 0, Math.Min(2, employees.Length));
//
// Display the employee array.
//
Console.WriteLine("--- Employee array after ---");
foreach (Employee employee in employees)
{
if (employee != null)
{
Console.Write(employee.Name);
Console.Write(": ");
Console.WriteLine(employee.Salary);
}
else
{
Console.WriteLine("null");
}
}
}
}
Output
--- Employee array before ---
Bob: 10000
Susan: 13000
John: 20000
--- Employee array after ---
null
null
John: 20000Description. The code defines an Employee class, which it then populates with three employee objects in the Main entry point. The array elements are written to the screen. Next, Array.Clear is called with three parameters. The first is the target array to clear, and the second specifies the offset to start clearing at. The third argument uses Math.Min to clear either two elements or all elements, whichever is smaller. If you clear two elements and the array has one element, you will get an error. Math.Min prevents this exception.
Math.Min Method Example Math.Max and Min, Bounds-Checking
You will see in the MSDN documentation that boolean arrays are cleared by having all their elements assigned to false. Also, struct arrays will be cleared the same way as other arrays of System.ValueType instances. All struct fields will be set to null or 0, depending on their type.
Struct Examples
We looked at how you can use the Array.Clear method. This method provides a one-line way of resetting your entire array to its default values, and works on arrays of values and references. We saw how you can combine the method with Math.Min to avoid exceptions.
Array Types