Dovendo cercare in un array per trovare la stringa più lunga (ma anche la più corta) il codice da scrivere non è molto, ma comunque è abbastanza articolato:

   1: string longest = string.Empty;
   2:  
   3: foreach (string item in stars)
   4:     if (item.Length > longest.Length)
   5:         longest = item;

Quattro righe di codice non sono molte, ma usando LINQ possiamo ottenere il medesimo risultato con una sola riga:

   1: string longest = stars.Aggregate((a, b) => a.Length > b.Length ? a : b);

Il metodo Aggregate durante l'iterazione degli elementi porta con se oltre all'elemento corrente (a) anche quello selezionato dalle precedenti iterazioni (b). Ecco che quindi basta confrontarli e ritornare il più lungo dei due per trovare l'elemento più lungo di tutto l'array. Invertendo il segno > troveremmo il più corto.

Technorati Tag: ,,

Aggiungi Commento