Unisci due array in C#
-
Unisci due array con il metodo
Array.Copy()
inC#
-
Unisci due array con il metodo
Array.Resize()
inC#
-
Unisci due matrici con il metodo LINQ in
C#
Questa esercitazione discuterà i metodi per l’unione di due array in C#.
Unisci due array con il metodo Array.Copy()
in C#
Il metodo Array.Copy()
copia un intervallo di elementi da un array a un altro. Possiamo usare il metodo Array.Copy()
per copiare gli elementi di entrambi gli array in un terzo array unito. Il seguente esempio di codice ci mostra come unire due array con il metodo Array.Copy()
in 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);
}
}
}
}
Produzione:
1 2 3 4 5 6
Nel codice sopra, abbiamo inizializzato 2 array di valori interi arr1
e arr2
. Abbiamo dichiarato un terzo array arr3
per contenere gli elementi combinati di arr1
e arr2
. La lunghezza dell’array arr3
è la somma delle lunghezze degli array arr1
e arr2
. Poi abbiamo copiato il contenuto degli array arr1
e arr2
nell’array arr3
con il metodo Array.Copy()
in C#.
Unisci due array con il metodo Array.Resize()
in C#
Nell’esempio precedente, dobbiamo creare un terzo array separato per memorizzare i valori uniti di entrambi gli array. Se vogliamo raggiungere questo obiettivo senza creare un altro array, dobbiamo usare il metodo Array.Resize()
su uno dei due array. Il metodo Array.Resize()
viene utilizzato per ridimensionare un array unidimensionale in C#. Il metodo Array.Resize()
prende come argomenti il riferimento all’array e la dimensione desiderata e ridimensiona l’array. Il seguente esempio di codice ci mostra come unire due array con il metodo Array.Resize()
in 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);
}
}
}
}
Produzione:
1 2 3 4 5 6
Abbiamo inizializzato 2 array di valori interi, arr1
e arr2
. Abbiamo quindi ridimensionato l’array arr1
per contenere i valori sia di arr1
che di arr2
con il metodo Array.Resize()
. Abbiamo quindi copiato gli elementi di arr2
in arr1
con il metodo Array.Copy()
in C#.
Unisci due matrici con il metodo LINQ in C#
La query LINQ o integrata nel linguaggio integra la funzionalità di query nelle strutture di dati in C#. Possiamo usare la funzione Concat()
per unire gli elementi di due array. La funzione Concat(x)
concatena gli elementi del parametro x
alla fine dell’oggetto chiamante in C#. Possiamo quindi usare la funzione ToArray()
per convertire il risultato in un array. L’esempio di codice seguente mostra come unire due matrici con il metodo LINQ in 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);
}
}
}
}
Produzione:
1 2 3 4 5 6
Abbiamo inizializzato 2 array di valori interi, arr1
e arr2
. Abbiamo quindi concatenato gli elementi dell’array arr2
alla fine dell’array arr1
con il metodo Array.Concat()
. Abbiamo quindi convertito il risultato di questa operazione in un array con la funzione ToArray()
in 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