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. There are some important differences in how you declare and use C# arrays in C# compared to 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, its size can be set using the new keyword, just like in Java. The following code declares an array reference:
int[] arr; arr = new int[5]; // create a 5 element integer array
Elements in a one-dimensional array can then be accessed using the same syntax as in Java. C# array indexing is also zero-based. The code below accesses the last element in the array above:
System.Console.WriteLine(arr[4]); // access the 5th element
Initialization
C# array elements can be initialized at creation time using the same syntax as in Java:
int[] arr2Lines; arr2Lines = new int[5] {1, 2, 3, 4, 5}; Syue.com
But the number of C# initializers must be equal to the array size An exact match, unlike Java. You can declare and initialize a C# array on the same line using this function:
int[] arr1Line = {1, 2, 3, 4, 5};
This syntax creates an array with a size equal to the number of initializers.
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.Length; i++) { TaxRates[i] = 0; }
Jagged Arrays
Both C# and Java support the creation of jagged (non-rectangular) arrays, i.e. arrays where each row contains a different number of columns. For example, in the following jagged array, the first row has four items, while the second row has three items:
nt[][] jaggedArray = new int[2][]; jaggedArray[0] = new int[4]; jaggedArray[1] = new int[3];
Multidimensional arrays
You can use C# to create regular multidimensional arrays, which 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).
A multidimensional rectangular array is declared using the following syntax:
int[,] arr2D; // declare the array reference float[,,,] arr4D; // declare the array reference
After declaration, memory can be allocated for the array as follows:
arr2D = new int[5,4]; // allocate space for 5 x 4 integers
The elements of the array can then be accessed using the following syntax:
arr2D[4,3] = 906;
Since C# arrays are zero-based , so this row 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 multi-dimensional 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 the definition and initialization of various C# arrays, please pay attention to PHP Chinese net!