In this article we learn what a jagged array is and how we use jagged arrays in our applications.

A jagged array is an array of arrays.

Problem

Suppose I run an institute and I have 4 students and all 4 students have enrolled in 2 courses.
Let's make a table for better visualization.

Student Name Subject Name.

Student Name Subject Name
Pramod C#
SQL Server
Java
jQuery
Ravi C#
Rahul Android
Window Phone Development
iOS development
Deepak Html5
CSS3

Solution

We can do this to use a jagged array.

First create a string array to store student names.

  1. string[] studentArray = new string[4];
  2. studentArray[0] = "Pramod";
  3. studentArray[1] = "Ravi";
  4. studentArray[2] = "Rahul";
  5. studentArray[3] = "Deepak";
We want 4 string arrays so we specified the size of our jagged array as 4.
  1. string[][] jaggedArray = new string[4][];
Let's specify the size of the first string array within jagged array as 4.
  1. jaggedArray[0] = new string[4];
For the second, third and fourth string array length in jagged array is 1,3,2 respectively.
  1. jaggedArray[1] = new string[1];
  2. jaggedArray[2] = new string[3];
  3. jaggedArray[3] = new string[2];
Let's store some data in the jagged array.
  1. jaggedArray[0][0] = "C#";
  2. jaggedArray[0][1] = "SQL Server";
  3. jaggedArray[0][2] = "Java";
  4. jaggedArray[0][3] = "jQuery";
  5. jaggedArray[1][0] = "C#";
  6. jaggedArray[2][0] = "Android";
  7. jaggedArray[2][1] = "Window Phone Development";
  8. jaggedArray[2][2] = "iOS development";
  9. jaggedArray[3][0] = "Html5";
  10. jaggedArray[3][1] = "CSS3";
Let's print this using the following code.
  1. for (int i = 0; i < jaggedArray.Length; i++)
  2. {
  3. string[] anotherArray =jaggedArray[i];
  4. Console.WriteLine(studentArray[i]);
  5. Console.WriteLine();
  6. for (int j = 0; j < anotherArray.Length; j++)
  7. {
  8. Console.WriteLine(anotherArray[j]);
  9. }
  10. Console.WriteLine("=========================");
  11. }
  12. Console.ReadLine();
Output

output