Array in C#

Arrays

  • An array is a collection of similar types of values.
  • Each value in the array is to be called an element.
  • The total number of array elements is called the Array size.

Implementation of Arrays

  1. Single Dimensional Arrays

    Array declaration

    • Without initialization

      datatype[] arrayname = new datatype[size];

    • With initialization

      datatype[] arrayname = {val1,val2,val3,…..};

    Accessing the elements

    arrayname[index]

  2. Double Dimensional Arrays

    Array declaration

    • Without initialization

      datatype[,] arrayname = new datatype[rows size,columns size];

    • With initialization

      datatype[,] arrayname = {{val1,val2,…}, {val1,val2,…},…};

    Accessing the elements

    arrayname[row index,column index

  3. Multi Dimensional Arrays

    Same as a double-dimensional array, but with more dimensions.

Program for Single Dimension Array

namespace  ArrayDemo

{

 

//Demo on Single-Dim Array. class Program

 

{

static void Main(string[] args)

 

{

 

//read the number of students int n;

 

Console.Write("Enter number of students: "); n = Convert.ToInt32(Console.ReadLine());

 

//check n value whether it is greater than 0 or not. if (n > 0)

 

{

//declare the arrays

 

string[] Names = new string[n]; int[] Marks = new int[n]; string[] Result = new string[n];

 

//read student names

 

Console.WriteLine("\nEnter " + n + students names:"); for (int i = 0; i < n; i++)

 

{

 

Console.Write((i + 1) + ": "); Names[i] = Console.ReadLine();

}

 

//read student marks

 

Console.WriteLine("\nEnter " + n + students marks:"); for (int i = 0; i < n; i++)

 

{

Console.Write((i + 1) + ": ");

Marks[i] = Convert.ToInt32(Console.ReadLine());

 

}

//calculate results

for (int i = 0; i < n; i++)

 

{

if (Marks[i] >= 0 && Marks[i] <= 100)

{

 

if (Marks[i] >= 80) Result[i] = "Distinction";

 

else if (Marks[i] >= 60) Result[i] = "First Class";

 

else if (Marks[i] >= 50) Result[i] = "Second Class";

 

else if (Marks[i] >= 35) Result[i] = "Third Class";

else

Result[i] = "Fail";

 

}

else

Result[i] = "Invalid";

}

//display the student names and marks 
Console.WriteLine("\n\nStudent Details:"); for (int i = 0; i < n; i++)
Console.WriteLine((i + 1) + ". " + Names[i] + " - " + Marks[i] + " - " + Result[i]);

}

 

else

 

Console.WriteLine("N value can't be zero."); Console.Read();

 

}

}

}


Program for Multi Dimension Array

namespace MultiDimArrays

{

 

//Demo on Multi-Dimensional Arrays class Program

 

{

 

static void Main(string[] args)

{

 

//Single dimensional arrays int[] x = 10, 20, 30, 40};

 

Console.WriteLine("Single dimensional array:"); for (int i = 0; i < x.Length; i++)

 

Console.Write(x[i] + ", "); //Double dimensional arrays

 

int[,] y = {10, 20}, {30, 40}, {50, 60} }; Console.WriteLine("\n\nDouble dimensional array:"); 
for (int i = 0; i < 3; i++)

 

{

 

for (int j = 0; j < 2; j++) Console.Write(y[i, j] + " ");

 

Console.WriteLine();

}

 

//Multi dimensional arrays

 

int[, ,] z = 5, 10 }15, 20 } }25, 30 }35, 40 } }45, 50 }55, 60 } } }; 
Console.WriteLine("\nMulti dimensional array:");

for (int i = 0; i < 3; i++)

{

 

for (int j = 0; j < 2; j++)

{

 

for (int k = 0; k < 2; k++) Console.Write(z[i, j, k] + " ");

Console.WriteLine();

 

}

 

Console.WriteLine();

}

Console.Read();

}

}

}


foreach Loop
  • One of the most common usages of the for loop is to iterate through a collection of values (an array).
  • C# offers a simplified and easier syntax of for loop called a foreach loop, designed only for such kind of array iterations.

    Syntax

    foreach (datatype variable in arrayname)
    { -----------;
    -----------;
    }
  • In the preceding syntax, the loop will be executed once for each value in the array. For every iteration, the values of the array will be assigned to the variable.

    For example, the following is a for loop.

    int[] nums = { 10, 20, 30};
    for (int i = 0;i < nums.Length; i++)
    {
    Console.WriteLine(nums[i]));
    }
  • You can re-write the preceding example with foreach syntax as follows:

    int[] nums = { 10, 20, 30};
    foreach (int n in nums)
    {
    Console.WriteLine(n);
    }

Note: The arrayname.Length property gets the size of the array. We explain about the "Array" class in the future.

Jagged Arrays

  • A two-dimensional array is of rectangular size always.
  • But the jagged arrays are more flexible in sizing them.
  • They may not be rectangular size.
  • To declare them, declare the array size in one pair of brackets [size] and then give empty brackets, because the number of elements that can be stored in each row varies.


Program for Jagged Array

using System;

 

using System.Collections.Generic; 
using System.Linq;

 

using System.Text;

namespace JaggedArraysDemo

 

{

class Program

{

static void Main(string[] args)

 

{

 

int[][] a = new int[3][]; a[0] = new int[1, 2 };

 

a[1] = new int[3, 4, 5, 6, 7, 8 }; a[2] = new int[9, 10, 11 };

 

for (int i = 0; i < a.Length; i++)

{

for (int j = 0; j < a[i].Length; j++)

 

{

Console.Write(a[i][j] + " ");

 

}

 

Console.WriteLine();

}

 

Console.Read();

 

}

        }

 

}


Array Related Video: Use of Array