Indicizzazione e lunghezza
Acceda agli elementi in sicurezza.
Indicizzazione e lunghezza è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 4 lezioni in totale.
Leggere tramite indice
Ogni elemento di un array ha una posizione chiamata indice. Può leggere un valore inserendo l'indice tra parentesi quadre dopo il nome dell'array.
Gli indici iniziano da 0, quindi il primo elemento si trova all'indice 0.
string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[0]); // MonConteggio a partire da zero
Poiché gli indici iniziano da 0, il secondo elemento ha indice 1 e il terzo ha indice 2.
Questo conteggio a partire da zero può confondere chi è alle prime armi, quindi ricordi: indice = posizione meno uno.
string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[1]); // Tue
Console.WriteLine(days[2]); // WedModifica di un elemento
Può sovrascrivere qualsiasi elemento assegnando un nuovo valore al suo indice.
Qui sostituiamo il valore all'indice 1. La lunghezza dell'array non cambia, cambia solo il valore memorizzato.
int[] nums = { 5, 6, 7 };
nums[1] = 99;
Console.WriteLine(nums[1]); // 99La proprietà Length
Ogni array ha una proprietà Length che indica quanti elementi contiene.
È utile perché non deve ricordarne personalmente la dimensione.
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums.Length); // 4L'ultimo elemento
L'ultimo indice valido è sempre Length - 1, perché il conteggio inizia da 0.
Usando Length - 1 può trovare l'elemento finale senza inserire un numero direttamente nel codice.
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[nums.Length - 1]); // 8L'operatore di indice dalla fine
C# offre una scorciatoia per contare dalla fine usando l'operatore ^. ^1 indica l'ultimo elemento, mentre ^2 indica il penultimo.
È un modo semplice per accedere alla fine senza scrivere Length - 1.
int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[^1]); // 8Un programma completo
Questo programma completo stampa il primo elemento, l'ultimo elemento e la lunghezza totale.
Lo esegua per vedere comparire tutti e tre i valori.
int[] nums = { 10, 20, 30 };
Console.WriteLine("First: " + nums[0]);
Console.WriteLine("Last: " + nums[nums.Length - 1]);
Console.WriteLine("Count: " + nums.Length);Errori di indice fuori intervallo
Se usa un indice troppo grande o negativo, C# genera un'eccezione IndexOutOfRangeException e il programma si arresta.
Per un array di lunghezza 3, gli unici indici validi sono 0, 1 e 2. L'indice 3 va oltre di un elemento.
int[] nums = { 1, 2, 3 };
// nums[3] would throw IndexOutOfRangeException
Console.WriteLine(nums[2]); // safe: 3Controllo prima dell'accesso
Per evitare arresti del programma, controlli che l'indice rientri nell'intervallo valido prima di usarlo.
Un indice sicuro deve essere almeno 0 e minore di Length.
int[] nums = { 1, 2, 3 };
int i = 5;
if (i >= 0 && i < nums.Length)
Console.WriteLine(nums[i]);
else
Console.WriteLine("Out of range");Usare Length nei calcoli
Poiché Length è semplicemente un numero intero, può usarlo nei calcoli, ad esempio per trovare un indice centrale.
Qui calcoliamo la posizione centrale dell'array.
int[] nums = { 1, 2, 3, 4, 5 };
int mid = nums.Length / 2;
Console.WriteLine(nums[mid]); // 3Length è di sola lettura
Non può modificare Length per ridimensionare un array. Una volta creati, gli array hanno dimensioni fisse.
Se le serve una dimensione diversa, deve creare un nuovo array. Le raccolte come List<T> sono più adatte quando la dimensione deve aumentare.
int[] nums = { 1, 2, 3 };
// nums.Length = 5; // error: read-only
Console.WriteLine(nums.Length); // 3Verifica rapida
Verifichi la sua comprensione di indici e lunghezza.
Riepilogo
Ha imparato a leggere e modificare gli elementi tramite l'indice, che gli indici partono da zero e che l'ultimo indice è Length - 1.
La proprietà Length conta gli elementi, l'operatore ^ conta dalla fine e un indice fuori intervallo genera un'eccezione. Ora passerà in rassegna ogni elemento con un ciclo.
Domande Frequenti
La lezione «Indicizzazione e lunghezza» è gratuita?
Sì — il testo completo di «Indicizzazione e lunghezza» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 4 lezioni in totale.
Cosa imparerò in «Indicizzazione e lunghezza»?
Acceda agli elementi in sicurezza. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C# Academy?
Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Indicizzazione e lunghezza»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C# Academy?
Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Dichiarare array
- Indicizzazione e lunghezza
- Iterare sugli array
- Array multidimensionali