8.4. Initializing Arrays

Often you know that certain arrays have specific values and you want to initialize the array elements to those values. For example, you might have an array named days that holds a count of the number of days in each month. You could use the following code:

days[0] = 31;     // January
days[1] = 28;     // February
days[2] = 31;     // March

. . . and so on. As you can see, this is a pretty repetitive task that requires 12 statements that are almost identical. C# provides you with an easier, more direct way, of setting the values of an array. The syntax is shown here:

typeSpecifier [] arrayID = new typeSpecifier [elementCount] { val1, val2, val3,. . .};

Using our example of the days in each month, you might use this:

int[] days = new int[12] {31,28,31,30,31,30,31,31,30,31,31};

This statement sets all 12 monthly values in a single statement. Setting the values of an array as part of the definition of the array is called initializing the array. The list of values that appears between the curly braces is often referred to as the initializer list.

8.4.1. Variations for Initializing an Array

What's interesting is that C# provides two additional syntax variations for initializing an array. These variations for the same array shown in the previous section are

int[] days = new int[] {31,28,31,30,31,30,31,31,30,31,31};

or

int[] days = {31,28,31,30,31,30,31,31,30,31,31};

Note that the first variation does not fill in the element count for the array. The compiler does that automatically ...

Get Beginning C# 3.0 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.