Mesclar duas arrays em C#
-
Mesclar duas arrays com o método
Array.Copy()
emC#
-
Mesclar duas arrays com o método
Array.Resize()
emC#
-
Mesclar duas arrays com o método LINQ 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#.
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