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}Défi
FacileCré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));
}
}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
4Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiques7Entrées/Sorties de base
Sortie de baseInterpolation de chaînesLecture d'entréeParserRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Méthodes (Fonctions)
Déclaration de méthodesParamètres de méthodeTypes de retourParamètres optionnelsRécapitulatif - Fonction de validationMéthodes Void13Itération sur les collections
Utilisation de la boucle ForBoucle ForeachOpérations courantes sur les tableaux5Opérateurs Partie 2
Opérateurs de comparaisonOpérateurs logiques Partie 1Opérateurs logiques Partie 2Récapitulatif - Logique simpleOpérateurs logiques Partie 311Les bases des tableaux
Déclarer des tableauxAccéder aux élémentsModifier des tableauxCopier des tableauxMéthodes des tableauxRécapitulatif - Tableau des produitsModifier le récapitulatif - Tableau inversé3Variables - Partie 2
VarConstantesConventions de nommageRécapitulatif - Initialisation des variablesType Casting6Prise de décision
Instruction IfIf - ElseInstruction SwitchOpérateur ternaireRécapitulatif - If ElseIf - Else imbriqués9Boucles
Boucle ForBoucle WhileBoucle Do WhileBreakContinueBoucles imbriquéesBoucle infinieRécapitulatif - Entrée dynamique12Opérations sur les chaînes
Méthodes de chaînes - Partie 1Méthodes de chaînes - Partie 2Formatage de chaînesEntraînez-vous par vous-même : Compilateur C# en ligne