Passing arrays as arguments in C#

An array is a collection of similar type variables which are referred to by a common name. In C#, arrays are the reference types so it can be passed as arguments to the method. A method can modify the value of the elements of the array. Both single dimensional and multidimensional arrays can be passed as an argument to the methods.

Passing 1-D Arrays as arguments to methods

One can pass the 1-D arrays to a method. There are various options like first, you declare and initialize the array separately then pass it the to the method. Second, you can declare, initialize and pass the array to the method in a single line of code.

Example 1: Declaring and initializing array first and then pass it to the method as an argument.

filter_none

edit
close

play_arrow

link
brightness_4
code

// taking an integer array
// declaring and intializing
// the array
int[] arr = {1, 2, 3, 4};
  
// passing the array as an 
// argument to the method
// Result is the method name
Result(arr);

chevron_right


Example 2: Declaring, initializing and passing the array to the method in a single line of code.

Result(new int[] {1, 2, 3, 4});

Code: In the below program, we are passing the 1-D array arr to the method Result. The method is static and it will print the array elements which are passed to it.

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program for passing the 1-D 
// array to method as argument
using System;
  
class GFG {
      
    // declaring a method 
    static void Result(int[] arr) {
          
        // displaying the array elements
        for(int i = 0; i < arr.Length; i++)
        {
            Console.WriteLine("Array Element: "+arr[i]);
        }
          
    
      
    // Main method
    public static void Main() {
          
        // declaring an array 
        // and intializing it
        int[] arr = {1, 2, 3, 4, 5};
          
        // callling the method
        Result(arr);
    }
}

chevron_right


Output:

Array Element: 1
Array Element: 2
Array Element: 3
Array Element: 4
Array Element: 5

Passing Multi-Dimensional Arrays as arguments to Methods

You can also pass the multidimensional arrays to a method. There are various options like first, you declare and initialize the multi-dimensional array separately then pass it the to the method. Second, you can declare, initialize and pass the array to the method in a single line of code.

Example 1: Declaring and initializing array first and then pass it to the method as an argument.

filter_none

edit
close

play_arrow

link
brightness_4
code

// declaring and intializing
// the 2-D array
int[,] arr = { {1, 2, 3, 4}, {5, 6, 7, 8} };
  
// passing the array as an 
// argument to the method
// Result is the method name
Result(arr);

chevron_right


Example 2: Declaring, initializing and passing the 2-D array to the method in a single line of code.

Result(new int[,] { {1, 2, 3, 4}, {5, 6, 7, 8} });

Code: In the below program, we are passing an 2-D array arr to the method transpose which gave the transpose of the matrix. GetLength() method is used for the count the total number of elements in a particular dimension.

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program for finding the transpose 
// of matrix(2-D array) by using array
// as function arguments
using System; 
  
class GFG { 
      
    // temp is used as temporary variable
    static int temp = 0; 
  
  
    // passing 2-D array 'arr' as argument 
    // to find the transpose of matrix
    static void transpose(int[, ] arr) 
    
        for (int i = 0; i < arr.GetLength(0); i++) { 
            for (int j = i; j < arr.GetLength(1); j++) { 
                temp = arr[i, j]; 
                arr[i, j] = arr[j, i]; 
                arr[j, i] = temp; 
            
        
    
  
    // to display the transposed matrix
    static void displayresult(int[, ] arr) 
    
          
        Console.WriteLine("Matrix After Transpose: ");
          
        for (int i = 0; i < arr.GetLength(0); i++) { 
            for (int j = 0; j < arr.GetLength(1); j++) 
                Console.Write(arr[i, j] + " "); 
            Console.WriteLine(); 
        
    
      
    // Main Method
    static public void Main() 
    
        // declaration of an 2-d array
        int[, ] arr;
          
        // initialzing 2-D array
        // matrix of 4 rows and 4 colums
        arr = new int[4, 4]{ { 1, 2, 3, 4}, 
                             { 5, 6, 7, 8}, 
                             {9, 10, 11, 12}, 
                             {13, 14, 15, 16} };
                               
        Console.WriteLine("Matrix Before Transpose: ");
          
        for (int i = 0; i < arr.GetLength(0); i++) 
        
            for (int j = 0; j < arr.GetLength(1); j++) 
                Console.Write(arr[i, j] + " "); 
            Console.WriteLine(); 
        }
          
        Console.WriteLine(); 
          
        // calling transpose method
        transpose(arr);
          
        // calling displayresult method 
        // to display the result
        displayresult(arr); 
    

chevron_right


Output:

Matrix Before Transpose: 
1 2 3 4 
5 6 7 8 
9 10 11 12 
13 14 15 16 

Matrix After Transpose: 
1 5 9 13 
2 6 10 14 
3 7 11 15 
4 8 12 16 


My Personal Notes arrow_drop_up

Believes in Smart Work

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.