Fusionar dos arrays en C#

Muhammad Maisam Abbas 16 febrero 2024
  1. Fusionar dos arrays con el método Array.Copy() en C#
  2. Fusionar dos arrays con el método Array.Resize() en C#
  3. Fusionar dos arrays con el método LINQ en C#
Fusionar dos arrays en C#

Este tutorial discutirá los métodos para fusionar dos arrays en C#.

Fusionar dos arrays con el método Array.Copy() en C#

El método Array.Copy() copia un rango de elementos de un array a otra. Podemos usar el método Array.Copy() para copiar los elementos de ambos arrays a un tercer array combinado. El siguiente ejemplo de código nos muestra cómo fusionar dos arrays con el método Array.Copy() en C#.

using System;

namespace merge_arrays {
  class Program {
    static void Main(string[] args) {
      int[] arr1 = { 1, 2, 3 };
      int[] arr2 = { 4, 5, 6 };
      int[] arr3 = new int[arr1.Length + arr2.Length];
      Array.Copy(arr1, arr3, arr1.Length);
      Array.Copy(arr2, 0, arr3, arr1.Length, arr2.Length);
      foreach (var e in arr3) {
        Console.WriteLine(e);
      }
    }
  }
}

Producción :

1
2
3
4
5
6

En el código anterior, inicializamos 2 arrays de valores enteros arr1 y arr2. Declaramos un tercer array arr3 para contener los elementos combinados de arr1 y arr2. La longitud del array arr3 es la suma de las longitudes de las arrays arr1 y arr2. Luego copiamos el contenido de las arrays arr1 y arr2 a el array arr3 con el método Array.Copy() en C#.

Fusionar dos arrays con el método Array.Resize() en C#

En el ejemplo anterior, tenemos que crear una tercera matriz separada para almacenar los valores combinados de ambas arrays. Si queremos lograr este objetivo sin crear otra matriz, tenemos que usar el método Array.Resize() en una de las dos arrays. El método Array.Resize() se utiliza para cambiar el tamaño de un array unidimensional en C#. El método Array.Resize() toma la referencia al array y el tamaño deseado como argumentos y cambia el tamaño del array. El siguiente ejemplo de código nos muestra cómo fusionar dos arrays con el método Array.Resize() en C#.

using System;

namespace merge_arrays {
  class Program {
    static void Main(string[] args) {
      int[] arr1 = { 1, 2, 3 };
      int[] arr2 = { 4, 5, 6 };
      int array1OriginalLength = arr1.Length;
      Array.Resize<int>(ref arr1, array1OriginalLength + arr2.Length);
      Array.Copy(arr2, 0, arr1, array1OriginalLength, arr2.Length);
      foreach (var e in arr1) {
        Console.WriteLine(e);
      }
    }
  }
}

Producción :

1
2
3
4
5
6

Inicializamos 2 arrays de valores enteros, arr1 y arr2. Luego cambiamos el tamaño del array arr1 para contener los valores de arr1 y arr2 con el método Array.Resize(). Luego copiamos los elementos del arr2 al arr1 con el método Array.Copy() en C#.

Fusionar dos arrays con el método LINQ en C#

La consulta integrada de lenguaje o LINQ integra la funcionalidad de consulta en estructuras de datos en C#. Podemos usar la función Concat() para fusionar los elementos de dos arrays. La función Concat(x) concatena los elementos del parámetro x al final del objeto de llamada en C#. Entonces podemos usar la función ToArray() para convertir el resultado en un array. El siguiente ejemplo de código nos muestra cómo podemos fusionar dos arrays con el método LINQ en C#.

using System;
using System.Linq;

namespace merge_arrays {
  class Program {
    static void Main(string[] args) {
      int[] arr1 = { 1, 2, 3 };
      int[] arr2 = { 4, 5, 6 };
      arr1 = arr1.Concat(arr2).ToArray();
      foreach (var e in arr1) {
        Console.WriteLine(e);
      }
    }
  }
}

Producción :

1
2
3
4
5
6

Inicializamos 2 arrays de valores enteros, arr1 y arr2. Luego concatenamos los elementos del array arr2 al final del array arr1 con el método Array.Concat(). Luego convertimos el resultado de esta operación en un array con la función ToArray() en C#.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artículo relacionado - Csharp Array