Arrays
type [*] +array-name
= [ newtype
[dimension
+ ][*]*; | { value1, value2, ... }; ]
Note that [*]
is the set: [ ] [,] [,,] ..
.
Arrays allow a group of elements of a particular type to be stored in a contiguous block of memory. An array is specified by placing square brackets after the element type. For example:
char[ ] vowels = new char[ ] {'a','e','i','o','u'}; Console.WriteLine(vowels [1]); // Prints "e"
This prints “e” because array
indexes start at 0. To support other languages, .NET can create
arrays based on arbitrary start indexes, but all the libraries use
zero-based indexing. Once an array has been created, its length
cannot be changed. However, the System.Collection
classes provide dynamically sized arrays, as well as other data
structures, such as associative (key/value) arrays.
Multidimensional Arrays
Multidimensional arrays
come
in two varieties: rectangular and jagged. Rectangular arrays
represent an n-dimensional
block,
while jagged arrays are arrays of arrays. In this example we make use
of the for
loop, which is explained in the
statements section. The for
loops here simply
iterate through each item in the arrays.
// rectangular int [,,] matrixR = new int [3, 4, 5]; // creates 1 big cube // jagged int [ ][ ][ ] matrixJ = new int [3][ ][ ]; for (int i = 0; i < 3; i++) { matrixJ[i] = new int [4][ ]; for (int j = 0; j < 4; j++) matrixJ[i][j] = new int [5]; } // assign an element matrixR [1,1,1] = matrixJ [1][1][1] = 7;
Local Field Array Declarations
For convenience, ...
Get C# in a Nutshell, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.