sintassi
metodi diretti
esempi:
collezione.Add(nome_directory);
collezione.AddRange(lista_directory);
esempio: aggiungo ad una lista tutti gli elementi di una CheckedListBox
collezione.AddRange(CheckedListBox.Items.OfType<string>());
esempio:
// crea lista
List
lista.Add("Andrea");
lista.Add("Mario");
lista.Add("Franco");
// se la lista contiene Mario
if (lista.Contains("Mario"))
{
Console.WriteLine("trovato Mario");}
esempio:
// crea lista
List
lista.Add("Andrea");
lista.Add("Mario");
lista.Add("Franco");
// posizione di Mario
Console.WriteLine("trovato Mario in " + lista.IndexOf("Mario")); 1
metodi predicati
l'elemendo della lista viene passato ad una funzione booleana che resituisce true e false
a seconda del risultato eseguano true o non eseguono false la funzione
esempio: rimuovo dalla lista gli elementi che contengono delle parole di un array stringhe (arraylistatogli)
lista.RemoveAll(puliscilista)
private bool puliscilista(String elementolista) passo al metodo gli elementi della lista uno alla volta
{
foreach (string togli in arraylistatogli)}
{if (elementolista.Contains(togli))}
{return true;}
return false;
confronto tra liste
non é possibile fare un confronto diretto per vedere se due liste sono uguali
List<...> lista1 = ...;
List<...> lista2 = ...;
if (lista1 == lista1) {...} non funziona
occorre scorrere la lista e verifica se é uguale
if(lista1.Count == lista2.Count) verifico se almeno hanno stesso numero elementi
{
int verifica = 0;}
for (int x = 0; x < lista1.Count; x++)
{if (lista1[x] != lista2[x]) verifica singolo elemento se diverso}
{verifica++;}
if (verifica > 0) se ci sono differenze
{....}