giovedì 20 luglio 2023

C# utilizzo di TrueForAll

Quando si utilizzano Array o liste, può capitare di verificare se un elemento risponde ad un determinato elemento.
Tramite il metodo TrueForAll, passando il nome di funzione o un predicato, restituisce true se tutti gli elementi corrispondono alla condizione passata, altrimenti false, se almeno non la rispetta.
Di seguito un esempio di utilizzo.

Creazione lista

List<string> Nomi = new()
            {
                "Emanuele",
                "Daniele",
                "Francesco",
                "Marco",
                "Maria",
                "Luigina",
                "Anna",
                "Lisa"
            };

Utilizzo di TrueForAll tramite predicato

 var risultato = Nomi.TrueForAll(p => p.ToLower().Contains("Emanuele"));

Restituisce false, perchè solo un elemento ha il valore indicato nella condizione.

Di seguito invece si riporta l'utilizzo  di una funzione nel metodoTrueForAll.
La funzione per esaminare se il dato contiene almeno la vocale A

private bool Dato(string Nominativo)
        {
            return Nominativo.ToLower().Contains("a");
        
        }


L'utilizzo del metodo TrueForAll

var risultato2 = Nomi.TrueForAll(Dato);

Restituisce true perchè tutti gli elementi, contengono la condizione del metodo "Dato", ossia la vocale "a".
Da notare, che per ogni elemento viene eseguita la funzione, fino a quando questa non risulta false, al primo false esce, altrimenti verrà eseguita n volte per tutti gli elementi presenti nella lista.

Nessun commento: