Home  >  Article  >  Backend Development  >  Definition and initialization of various C# arrays

Definition and initialization of various C# arrays

高洛峰
高洛峰Original
2016-12-16 14:36:431329browse

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!

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