Home  >  Article  >  Backend Development  >  C# array definition and initialization

C# array definition and initialization

高洛峰
高洛峰Original
2016-12-16 14:32:502400browse

An array is an ordered collection of items with the same data type. To access an item in an array, you use both the array name and the offset between the item and the start of the array. The way you declare and use arrays in C# has some important differences from Java.

One-dimensional array
A one-dimensional array stores a fixed number of items in a linear manner, and only one index value is needed to identify any item. In C#, square brackets in an array declaration must follow the data type and cannot be placed after the variable name, which is allowed in Java. Therefore, arrays of type integers should be declared using the following syntax:

int[] arr1;


The following declaration is not valid in C#:

//int arr2[]; //compile error


After declaring an array, you can use the new keyword to set its size, which is the same as Java. The following code declares an array reference:

int[] arr;
arr = new int[5]; // create a 5 element integer array


The one-dimensional array can then be accessed using the same syntax as Java Elements. C# array indexing is also zero-based. The following code accesses the last element in the above array:

System.Console.WriteLine(arr[4]); // access the 5th element


Initialization

C# Array elements can be created using Java The same syntax for initialization:

int[] arr2Lines;
arr2Lines = new int[5] {1, 2, 3, 4, 5};


But the number of C# initializers must match the array The sizes match exactly, unlike Java. You can use this function to declare and initialize a C# array on the same line:

int[] arr1Line = {1, 2, 3, 4, 5};


This syntax creates an array with a size equal to the initial value set The number of fixed items.

Initialization in a program loop
Another way to initialize an array in C# is to use a for loop. The following loop sets each element of the array to zero:

int[] TaxRates = new int[5];

for (int i=0; i{
TaxRates [i] = 0;
}


Interleaved Arrays
Both C# and Java support creating interleaved (non-rectangular) arrays, that is, arrays with each row containing a different number of columns. For example, in the following jagged array, the first row has four items and the second row has three items:

int[][] jaggedArray = new int[2][];
jaggedArray[0] = new int [4];
jaggedArray[1] = new int[3];


Multi-dimensional array
You can use C# to create regular multi-dimensional arrays. Multi-dimensional arrays are similar to matrices of values ​​of the same type. While both Java and C# support jagged arrays, C# also supports multidimensional arrays (arrays of arrays).

Use the following syntax to declare a multi-dimensional rectangular array:

int[,] arr2D; // declare the array reference
float[,,,] arr4D; // declare the array reference


After declaration, you can press as follows Allocate memory for an array:

arr2D = new int[5,4]; // allocate space for 5 x 4 integers


You can then access the elements of the array using the following syntax:

arr2D[4 ,3] = 906;


Since the array is zero-based, this line sets the element in the fourth row and fifth column to 906.

Initialization
You can use one of the following methods to create, set, and initialize a multidimensional array in the same statement:

int[,] arr4 = new int [2,3] { {1,2,3}, {4,5,6} };
int[,] arr5 = new int [,] { {1,2,3}, {4,5,6} };
int[,] arr6 = { {1, 2,3}, {4,5,6} };


For more articles related to C# array definition and initialization, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn