Home » 
        C# Tutorial
    
    
    C# Multidimensional / Two-Dimensional Array with Examples
    
    
    
	
    
        C# Multidimensional / Two-Dimensional Array: In this tutorial, we will learn about the two-dimensional array, how to declare, initialize, access elements, and examples of the two-dimensional array.
        
            By IncludeHelp Last updated : April 11, 2023
        
    
    
    Before reading ahead, I would recommend to read: C# Single-dimensional arrays.
    In Single Dimensional Array, we were able to store elements in a single dimension (Array elements were store contiguous).
    If we need to store data in a tabular like format, we cannot do this using single (one) dimensional array.
    Two-dimensional Array in C#
    A two-dimensional is useful when you want to store data in two dimensions array. It includes single-dimensional arrays as its elements. A two-dimensional array represents the data as a table with rows and columns. Here, the first dimension specifies the number of rows and the second specifies the number of columns.
    Two-dimensional Array Declaration
    The syntax is to declare a two-dimensional array is:
<data_type>[ , ] variable_name = new <data_type>[ROW, COL];
    The following code shows the declaration of a two-dimensional array with 2 rows and 3 columns,
int[, ] arr = new int[2, 3];
    Here, new operator is used to allocate memory space for the array. Total number of rows will be 2 and columns 3. Thus, space for 3*2 = 6  integer elements will be created.
    
    Two-dimensional Array Initialization
    The following code shows the initialization of a two-dimensional array,
int[ , ] arr = { { 10, 20, 30}, { 70, 80, 90 } };
    The number of rows and columns can also be specified during the initialization. For example,
int[ , ] arr = new int[2, 3]{ { 10, 20, 30}, { 70, 80, 90 } };
    Example 1: C# program to declare, input, and print a two-dimensional array
using System;
namespace arrayEx {
  class Program {
    static void Main(string[] args) {
      int i = 0;
      int j = 0;
      int[, ] arr;
      
      // Declaration
      arr = new int[2, 3];
      // Input array elements
      Console.Write("Enter Elements : \n");
      for (i = 0; i < 2; i++) {
        for (j = 0; j < 3; j++) {
          Console.Write("\tElement[" + i + "," + j + "]: ");
          arr[i, j] = Convert.ToInt32(Console.ReadLine());
        }
      }
      // Print array Elements
      Console.Write("\n\nElements are: \n");
      for (i = 0; i < 2; i++) {
        for (j = 0; j < 3; j++) {
          Console.Write(arr[i, j] + " ");
        }
        Console.WriteLine();
      }
    }
  }
}
Output
Enter Elements :      
        Element[0,0]: 10
        Element[0,1]: 20
        Element[0,2]: 30
        Element[1,0]: 40
        Element[1,1]: 50
        Element[1,2]: 60
 
 
Elements are:         
10 20 30              
40 50 60
Press any key to continue . . .
Example 2: C# program to find sum of each row
using System;
class MatrixDemo {
  public static void Main(string[] args) {
    int i = 0;
    int j = 0;
    int sum = 0;
    int row = 2;
    int col = 2;
    int[, ] Matrix = new int[row, col];
    Console.Write("Enter the elements of matrix: ");
    for (i = 0; i < row; i++) {
      for (j = 0; j < col; j++) {
        Matrix[i, j] = int.Parse(Console.ReadLine());
      }
    }
    Console.WriteLine("\nMatrix: ");
    for (i = 0; i < row; i++) {
      for (j = 0; j < col; j++) {
        Console.Write(Matrix[i, j] + "\t");
      }
      Console.WriteLine();
    }
    for (i = 0; i < row; i++) {
      sum = 0;
      for (j = 0; j < col; j++) {
        sum += Matrix[i, j];
      }
      Console.WriteLine("Sum of row[{0}]: {1}", (i + 1), sum);
    }
  }
}
Output
Enter the elements of matrix: 1
2
3
4
Matrix:
1       2
3       4
Sum of row[1]: 3
Sum of row[2]: 7
Press any key to continue . . .
	
    
    
    
    
    
    
  
    Advertisement
    
    
    
  
  
    Advertisement