Passing arrays as arguments in C#

22 Sep, 2021
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.
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 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.  
C#
// taking an integer array// declaring and initializing// the arrayint[] arr = {1, 2, 3, 4}; // passing the array as an// argument to the method// Result is the method nameResult(arr);
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. 
C#
// C# program for passing the 1-D// array to method as argumentusing 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 initializing it        int[] arr = {1, 2, 3, 4, 5};                 // calling the method        Result(arr);    }}
Output: 
Array Element: 1
Array Element: 2
Array Element: 3
Array Element: 4
Array Element: 5
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.  
C#
// declaring and initializing// the 2-D arrayint[,] arr = { {1, 2, 3, 4}, {5, 6, 7, 8} }; // passing the array as an// argument to the method// Result is the method nameResult(arr);
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. 
C#
// C# program for finding the transpose// of matrix(2-D array) by using array// as function argumentsusing 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;                 // initializing 2-D array        // matrix of 4 rows and 4 columns        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);    }}
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 
 
clintra
simmytarika5
kashishsoda
CSharp-Arrays
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C# | Multiple inheritance using interfaces
Differences Between .NET Core and .NET Framework
Extension Method in C#
C# | List Class
HashSet in C# with Examples
C# | .NET Framework (Basic Architecture and Component Stack)
Switch Statement in C#
Partial Classes in C#
Lambda Expressions in C#
Hello World in C#