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