Name
Array
Synopsis
Unlike other environments (such as C++), .NET has arrays of
first-class type, in that all array types are derivatives
of the base type
Array. All methods are available on any array
type, regardless of its declaration. In fact, the CLR is required to
synthesize a pseudotype that matches the
declaration. Thus, when you declare a variable of type
string[ ], the CLR creates an anonymous type,
deriving from Array specifically for storing
Strings in a one-dimensional array.
The Array class has a number of useful
array-related methods, such as checking for bounds violations
(attempting to access an element of the array that
isn’t in the array’s declared size)
and retrieval of array length. In addition, because
Array also implements the
ICloneable,
System.Collections.IList,
System.Collections.ICollection, and
System.Collections.IEnumerable interfaces, arrays
can be used anywhere these interface types are expected.
Starting with .NET 1.1, Array now has support for
64-bit indexer values, meaning that an array can stretch to include
264 possible elements. As a result,
several methods, including Copy( ),
GetValue( ), and SetValue( ),
among others, take Int64 parameters as well as
Int32.
Arrays are reference types. This means that the statement
ArrayB = ArrayA results in two objects that
reference the same array. Use ArrayB = ArrayA.Clone( ) to create a duplicate copy of an array. This will be a shallow copy with identical references to subobjects. To create a deep copy in which ...