Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Array.Clear Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Sets a range of elements in the Array to zero, to false, or to nulla null reference (Nothing in Visual Basic), depending on the element type.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<SecuritySafeCriticalAttribute> _
Public Shared Sub Clear ( _
array As Array, _
index As Integer, _
length As Integer _
)
[SecuritySafeCriticalAttribute]
public static void Clear(
Array array,
int index,
int length
)
Parameters
- array
Type: System.Array
The Array whose elements need to be cleared.
- index
Type: System.Int32
The starting index of the range of elements to clear.
- length
Type: System.Int32
The number of elements to clear.
Exceptions
| Exception | Condition |
|---|---|
| ArgumentNullException | array is nulla null reference (Nothing in Visual Basic). |
| IndexOutOfRangeException | index is less than the lower bound of array. -or- length is less than zero. -or- The sum of index and length is greater than the size of the Array. |
Remarks
Reference-type elements are set to nulla null reference (Nothing in Visual Basic). Boolean-type elements are set to false. Other value-type elements are set to zero.
The range of cleared elements wrap from row to row in a multi-dimensional array.
This method only clears the values of the elements; it does not delete the elements themselves. An Array has a fixed size; therefore, elements cannot be added or removed.
This method is an O(n) operation, where n is length.
Examples
The following example demonstrates the use of the Clear method with multi-dimensional arrays.
' Visual Basic .NET versions 1.0 and 1.1
Module Example
Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
outputBlock.Text &= vbLf & "One dimension (Rank=1):" & vbCrLf
Dim numbers1() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9}
For i As Integer = 0 To 8
outputBlock.Text += String.Format("{0} ", numbers1(i))
Next i
outputBlock.Text &= vbCrLf
outputBlock.Text += String.Format(vbLf & "Array.Clear(numbers1, 2, 5)") & vbCrLf
Array.Clear(numbers1, 2, 5)
For i As Integer = 0 To 8
outputBlock.Text += String.Format("{0} ", numbers1(i))
Next i
outputBlock.Text &= vbCrLf
outputBlock.Text &= vbLf & "Two dimensions (Rank=2):" & vbCrLf
Dim numbers2(,) As Integer = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
For i As Integer = 0 To 2
For j As Integer = 0 To 2
outputBlock.Text += String.Format("{0} ", numbers2(i, j))
Next j
outputBlock.Text &= vbCrLf
Next i
outputBlock.Text += String.Format(vbLf & "Array.Clear(numbers2, 2, 5)") & vbCrLf
Array.Clear(numbers2, 2, 5)
For i As Integer = 0 To 2
For j As Integer = 0 To 2
outputBlock.Text += String.Format("{0} ", numbers2(i, j))
Next j
outputBlock.Text &= vbCrLf
Next i
outputBlock.Text &= vbLf & "Three dimensions (Rank=3):" & vbCrLf
Dim numbers3(,,) As Integer = {{{1, 2}, {3, 4}}, _
{{5, 6}, {7, 8}}, _
{{9, 10}, {11, 12}}}
For i As Integer = 0 To 1
For j As Integer = 0 To 1
For k As Integer = 0 To 1
outputBlock.Text += String.Format("{0} ", numbers3(i, j, k))
Next k
outputBlock.Text &= vbCrLf
Next j
outputBlock.Text &= vbCrLf
Next i
outputBlock.Text += String.Format("Array.Clear(numbers3, 2, 5)") & vbCrLf
Array.Clear(numbers3, 2, 5)
For i As Integer = 0 To 1
For j As Integer = 0 To 1
For k As Integer = 0 To 1
outputBlock.Text += String.Format("{0} ", numbers3(i, j, k))
Next k
outputBlock.Text &= vbCrLf
Next j
outputBlock.Text &= vbCrLf
Next i
End Sub
End Module
' This code example produces the following output:
'
'One dimension (Rank=1):
'1 2 3 4 5 6 7 8 9
'
'Array.Clear(numbers1, 2, 5)
'1 2 0 0 0 0 0 8 9
'
'Two dimensions (Rank=2):
'1 2 3
'4 5 6
'7 8 9
'
'Array.Clear(numbers2, 2, 5)
'1 2 0
'0 0 0
'0 8 9
'
'Three dimensions (Rank=3):
'1 2
'3 4
'
'5 6
'7 8
'
'Array.Clear(numbers3, 2, 5)
'1 2
'0 0
'
'0 0
'0 8
using System;
class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
outputBlock.Text += "One dimension (Rank=1):" + "\n";
int[] numbers1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (int i = 0; i < 9; i++)
{
outputBlock.Text += String.Format("{0} ", numbers1[i]);
}
outputBlock.Text += "\n";
outputBlock.Text += "\n";
outputBlock.Text += String.Format("Array.Clear(numbers1, 2, 5)") + "\n";
Array.Clear(numbers1, 2, 5);
for (int i = 0; i < 9; i++)
{
outputBlock.Text += String.Format("{0} ", numbers1[i]);
}
outputBlock.Text += "\n";
outputBlock.Text += "\n";
outputBlock.Text += "Two dimensions (Rank=2):" + "\n";
int[,] numbers2 = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
outputBlock.Text += String.Format("{0} ", numbers2[i, j]);
}
outputBlock.Text += "\n";
}
outputBlock.Text += "\n";
outputBlock.Text += String.Format("Array.Clear(numbers2, 2, 5)") + "\n";
Array.Clear(numbers2, 2, 5);
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
outputBlock.Text += String.Format("{0} ", numbers2[i, j]);
}
outputBlock.Text += "\n";
}
outputBlock.Text += "Three dimensions (Rank=3):" + "\n";
int[, ,] numbers3 = {{{1, 2}, {3, 4}},
{{5, 6}, {7, 8}},
{{9, 10}, {11, 12}}};
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
for (int k = 0; k < 2; k++)
{
outputBlock.Text += String.Format("{0} ", numbers3[i, j, k]);
}
outputBlock.Text += "\n";
}
outputBlock.Text += "\n";
}
outputBlock.Text += String.Format("Array.Clear(numbers3, 2, 5)") + "\n";
Array.Clear(numbers3, 2, 5);
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
for (int k = 0; k < 2; k++)
{
outputBlock.Text += String.Format("{0} ", numbers3[i, j, k]);
}
outputBlock.Text += "\n";
}
outputBlock.Text += "\n";
}
}
}
/* This code example produces the following output:
*
* One dimension (Rank=1):
* 1 2 3 4 5 6 7 8 9
*
* Array.Clear(numbers1, 2, 5)
* 1 2 0 0 0 0 0 8 9
*
* Two dimensions (Rank=2):
* 1 2 3
* 4 5 6
* 7 8 9
*
* Array.Clear(numbers2, 2, 5)
* 1 2 0
* 0 0 0
* 0 8 9
*
* Three dimensions (Rank=3):
* 1 2
* 3 4
*
* 5 6
* 7 8
*
* Array.Clear(numbers3, 2, 5)
* 1 2
* 0 0
*
* 0 0
* 0 8
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.