Mesclar duas arrays em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Mesclar duas arrays com o método Array.Copy() em C#
  2. Mesclar duas arrays com o método Array.Resize() em C#
  3. Mesclar duas arrays com o método LINQ em C#
Mesclar duas arrays em C#

Este tutorial discutirá os métodos para mesclar duas arrays em C#.

Mesclar duas arrays com o método Array.Copy() em C#

O método Array.Copy() copia um intervalo de elementos de um array para outro. Podemos usar o método Array.Copy() para copiar os elementos de ambos os arrays para um terceiro array mesclado. O exemplo de código a seguir nos mostra como mesclar duas arrays com o método Array.Copy() em 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);
      }
    }
  }
}

Resultado:

1 2 3 4 5 6

No código acima, inicializamos 2 arrays de valores inteiros arr1 e arr2. Declaramos um terceiro array arr3 para conter os elementos combinados de arr1 e arr2. O comprimento do array arr3 é a soma dos comprimentos dos arrays arr1 e arr2. Em seguida, copiamos o conteúdo dos arrays arr1 e arr2 para o array arr3 com o método Array.Copy() em C#.

Mesclar duas arrays com o método Array.Resize() em C#

No exemplo anterior, temos que criar uma terceira matriz separada para armazenar os valores mesclados de ambas as arrays. Se quisermos atingir esse objetivo sem criar outro array, temos que usar o método Array.Resize() em um dos dois arrays. O método Array.Resize() é usado para redimensionar um array unidimensional em C#. O método Array.Resize() leva a referência à matriz e o tamanho desejado como seus argumentos e redimensiona a matriz. O exemplo de código a seguir nos mostra como mesclar duas arrays com o método Array.Resize() em 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);
      }
    }
  }
}

Resultado:

1 2 3 4 5 6

Inicializamos 2 arrays de valores inteiros, arr1 e arr2. Em seguida, redimensionamos a matriz arr1 para conter os valores de arr1 e arr2 com o método Array.Resize(). Em seguida, copiamos os elementos de arr2 para arr1 com o método Array.Copy() em C#.

Mesclar duas arrays com o método LINQ em C#

O LINQ ou consulta de linguagem integrada integra a funcionalidade de consulta em estruturas de dados em C#. Podemos usar a função Concat() para mesclar os elementos de duas arrays. A função Concat(x) concatena os elementos do parâmetro x no final do objeto de chamada em C#. Podemos então usar a função ToArray() para converter o resultado em um array. O exemplo de código a seguir nos mostra como podemos mesclar duas arrays com o método LINQ em 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);
      }
    }
  }
}

Resultado:

1 2 3 4 5 6

Inicializamos 2 arrays de valores inteiros, arr1 e arr2. Em seguida, concatenamos os elementos do array arr2 no final do array arr1 com o método Array.Concat(). Em seguida, convertemos o resultado dessa operação em um array com a função ToArray() em 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

Artigo relacionado - Csharp Array