Menu
CoddyTech

Copier des tableaux

Fait partie de la section Fondamentaux du Journey C# de Coddy. Leçon 58 sur 70.

Pour copier des éléments d’un tableau dans un autre, utilisez Array.Copy. Cette méthode prend cinq arguments :

Array.Copy(source, sourceIndex, destination, destinationIndex, length);

Elle prend length éléments de source, en commençant à sourceIndex, et les écrit dans destination, en commençant à destinationIndex. Le tableau de destination doit déjà exister et être suffisamment grand.

Le dernier argument est un nombre : il indique combien d’éléments copier, et non où s’arrêter.

int[] scores = {90, 75, 60, 85};
int[] firstTwo = new int[2];
Array.Copy(scores, 0, firstTwo, 0, 2);
// firstTwo contiendra {90, 75}

destinationIndex indique où se place le premier élément copié. Utiliser source.Length comme nombre d’éléments à copier copie le tableau entier, quelle que soit sa taille :

int[] source = {1, 2, 3};
int[] destination = new int[6];
Array.Copy(source, 0, destination, 3, source.Length);
// destination sera {0, 0, 0, 1, 2, 3}

Pour placer un tableau après un autre, copiez le second à la position où le premier se termine. Cette position correspond à la Length du premier tableau :

int[] first = {1, 2};
int[] second = {7, 8, 9};
int[] all = new int[first.Length + second.Length];
Array.Copy(first, 0, all, 0, first.Length);
Array.Copy(second, 0, all, first.Length, second.Length);
// all contiendra {1, 2, 7, 8, 9}

Lorsque les deux tableaux commencent à l’index 0, il existe une forme plus courte, Array.Copy(source, destination, length) :

int[] source = {4, 5, 6, 7};
int[] destination = new int[3];
Array.Copy(source, destination, 3);
// destination contiendra {4, 5, 6}
challenge icon

Défi

Facile

Crée une méthode nommée AddToEnd qui reçoit un tableau de chaînes et une chaîne item. Elle renvoie un nouveau tableau contenant tous les éléments du tableau, dans le même ordre, avec item ajouté à la fin.

Par exemple, AddToEnd(new string[] {"a", "b", "c"}, "d") renvoie ["a", "b", "c", "d"].

Utilise Array.Copy() pour copier les éléments dans le nouveau tableau.

Format d’entrée (2 lignes) :

  • Ligne 1 : les éléments du tableau séparés par des virgules (par ex. a,b,c)
  • Ligne 2 : l’élément à ajouter (par ex. d)

Format de sortie : les éléments du nouveau tableau séparés par une virgule et une espace (par ex. a, b, c, d)

Essayez vous-même

using System;

public class Program {
    public static string[] AddToEnd(string[] arr, string item) {
        // Écrivez le code ici
    }

    public static void Main(string[] args) {
        string[] arr = Console.ReadLine().Split(',');
        string item = Console.ReadLine();
        string[] result = AddToEnd(arr, item);
        Console.WriteLine(string.Join(", ", result));
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur C# en ligne