Share via

Facebook x.com LinkedIn Email

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

  • 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.


  • Last updated on 2011年11月18日