Pasar arrays como argumentos en C#

Una array es una colección de variables de tipo similar a las que se hace referencia con un nombre común. En C#, las arrays son los tipos de referencia, por lo que se pueden pasar como argumentos al método. Un método puede modificar el valor de los elementos de la array. Tanto las arrays unidimensionales como las multidimensionales se pueden pasar como argumento a los métodos.

Pasar arrays 1-D como argumentos a métodos

Uno puede pasar las arrays 1-D a un método. Hay varias opciones, como primero, declara e inicializa la array por separado y luego la pasa al método. En segundo lugar, puede declarar, inicializar y pasar la array al método en una sola línea de código.

Ejemplo 1: Declarar e inicializar la array primero y luego pasarla al método como argumento.  

C#

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

Ejemplo 2: declarar, inicializar y pasar la array al método en una sola línea de código.

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

Código: en el siguiente programa, estamos pasando la array 1-D arr al método Result. El método es estático e imprimirá los elementos de la array que se le pasan. 

C#

// 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 initializing it
        int[] arr = {1, 2, 3, 4, 5};
         
        // calling the method
        Result(arr);
    }
}

Producción: 

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

Pasar arrays multidimensionales como argumentos a métodos

También puede pasar las arrays multidimensionales a un método. Hay varias opciones, como primero, declara e inicializa la array multidimensional por separado y luego la pasa al método. En segundo lugar, puede declarar, inicializar y pasar la array al método en una sola línea de código.

Ejemplo 1: Declarar e inicializar la array primero y luego pasarla al método como argumento.  

C#

// declaring and initializing
// 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);

Ejemplo 2: declarar, inicializar y pasar la array 2D al método en una sola línea de código.

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

Código: En el siguiente programa, estamos pasando una array 2-D arr al método transpose que dio la transposición de la array. El método GetLength() se usa para contar el número total de elementos en una dimensión particular. 

C#

// 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;
         
        // 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);
    }
}

Producción: 

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 

Publicación traducida automáticamente

Artículo escrito por Anshul_Aggarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *