Copiare gli array
Fa parte della sezione Fondamenti del percorso C# di Coddy. Lezione 58 di 70.
Per copiare elementi da un array a un altro, usa Array.Copy. Accetta cinque argomenti:
Array.Copy(source, sourceIndex, destination, destinationIndex, length);Prende length elementi da source, a partire da sourceIndex, e li scrive in destination, a partire da destinationIndex. L’array di destinazione deve esistere già ed essere abbastanza grande.
L'ultimo argomento è un conteggio: indica quanti elementi copiare, non dove fermarsi.
int[] scores = {90, 75, 60, 85};
int[] firstTwo = new int[2];
Array.Copy(scores, 0, firstTwo, 0, 2);
// firstTwo conterrà {90, 75}destinationIndex indica dove viene inserito il primo elemento copiato. Usando source.Length come conteggio, viene copiata l'intera matrice, indipendentemente dalle sue dimensioni:
int[] source = {1, 2, 3};
int[] destination = new int[6];
Array.Copy(source, 0, destination, 3, source.Length);
// destination sarà {0, 0, 0, 1, 2, 3}Per mettere un array dopo l'altro, copia il secondo nella posizione in cui termina il primo. Quella posizione è Length del primo array:
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 sarà {1, 2, 7, 8, 9}Quando entrambi gli array iniziano dall'indice 0, esiste una forma più breve, Array.Copy(source, destination, length):
int[] source = {4, 5, 6, 7};
int[] destination = new int[3];
Array.Copy(source, destination, 3);
// destination sarà {4, 5, 6}Sfida
FacileCrea un metodo chiamato AddToEnd che riceva un array di stringhe e una stringa item. Restituisce un nuovo array che contiene tutti gli elementi dell'array, nello stesso ordine, con item aggiunto alla fine.
Ad esempio, AddToEnd(new string[] {"a", "b", "c"}, "d") restituisce ["a", "b", "c", "d"].
Usa Array.Copy() per copiare gli elementi nel nuovo array.
Formato di input (2 righe):
- Riga 1: gli elementi dell'array separati da virgole (ad es.
a,b,c) - Riga 2: l'elemento da aggiungere (ad es.
d)
Formato di output: gli elementi del nuovo array separati da una virgola e uno spazio (ad es. a, b, c, d)
Provalo tu
using System;
public class Program {
public static string[] AddToEnd(string[] arr, string item) {
// Scrivi il codice qui
}
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));
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloIncremento/DecrementoIncremento/Decremento postfissoAbbreviazioni aritmetiche7Input/Output di base
Output di baseInterpolazione di stringheLettura dell'inputParsingRipasso - Fino a 120Ripasso - Vero o falso5Operatori Parte 2
Operatori di confrontoOperatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 33Variabili Parte 2
VarCostantiConvenzioni di denominazioneRiepilogo - Inizializzare le variabiliConversione dei tipi6Prendere decisioni
Istruzione ifIf - ElseIstruzione switchOperatore ternarioRiepilogo - If ElseIf - Else annidati9Cicli
Ciclo forCiclo whileCiclo do whileBreakContinueCiclo annidatoCiclo infinitoRiepilogo - Input dinamico12Operazioni sulle stringhe
Metodi delle stringhe Parte 1Metodi delle stringhe Parte 2Formattazione delle stringheEsercitati da solo: Compilatore C# online