Home > Backend Development > C#.Net Tutorial > Definition and initialization of various C# arrays

Definition and initialization of various C# arrays

高洛峰
Release: 2016-12-16 14:36:43
Original
1386 people have browsed it

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;
Copy after login

The following declaration is not valid in C#:

//int arr2[]; //compile error
Copy after login

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
Copy after login

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
Copy after login

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
Copy after login

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};
Copy after login

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;   
}
Copy after login

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];
Copy after login

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
Copy after login

After declaration, memory can be allocated for the array as follows:

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

The elements of the array can then be accessed using the following syntax:

arr2D[4,3] = 906;
Copy after login

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} };
Copy after login



For more articles related to the definition and initialization of various C# arrays, please pay attention to PHP Chinese net!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template