C# Tip: accedere velocemente agli elementi di una lista
30 Luglio 2020 - 2 minuti di lettura
Per chi come me sviluppa in C# da diversi anni si ricorda che, per accedere agli elementi di una lista, il linguaggio metteva a disposizione solamente un indice a base 0.
L’evoluzione del linguaggio ha portato novità come LINQ [1] mentre ora, con la versione 8 [2], ci viene fornita una nuova sintassi in aggiunta a quelle “storiche”.
Per la rubrica i3 Tips vi illustrerò quanto sia semplice accedere a qualunque elemento, o sottoinsieme di elementi, di una lista.
Buona lettura.
Prendiamo come esempio il seguente codice C#:
var lista = new string[] { //index (from start) //index (from the end) “Item1”, // 0 // ^5 “Item2”, // 1 // ^4 “Item3”, // 2 // ^3 “Item4”, // 3 // ^2 “Item5” // 4 // ^1 }; // 5 .Length // ^0 var retValue1 = lista[2]; // Item3 var retValue2 = lista[^2]; // Item4 var retValue3 = lista[1..3]; // Item2, Item3 var retValue4 = lista[..2]; // Item1, Item2
Analizziamo ognuna delle variabili retValue
:
retValue1
: il valore è ottenuto con il modo classico, ovvero per indice, e conterrà la stringa “Item3”;retValue2
: in questo caso la variabile contiene il secondo elemento, partendo dalla coda della lista;retValue3
: sono presenti un range di valori tra index 1 (incluso) e index 3 (escluso), quindi [“Item2”, “Item3”]. Inclusione/esclusione degli indici lo si definisce con i..
;retValue4
: come sopra, contiene un range di valori che vanno da index 0 a index 2 (escluso), quindi [“Item1”, “Item2”].
In conclusione:
..
→ tutti gli elementi in lista (non è specificato né inizio né fine);..2
→ tutti gli elementi fino a index 2 (escluso);3..
→ da index 3 (incluso) fino alla fine della lista.
Riferimenti
Articolo scritto da
Tag