Unisci due array in C#

Muhammad Maisam Abbas 16 febbraio 2024
  1. Unisci due array con il metodo Array.Copy() in C#
  2. Unisci due array con il metodo Array.Resize() in C#
  3. Unisci due matrici con il metodo LINQ in C#
Unisci due array 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#.

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

Articolo correlato - Csharp Array