Funzioni anonime, delegati, lambda

di luciusinfabula il
3 risposte
Gentili,
ho iniziato a studiare le funzioni anonime, delegati e lambda, sicuramente per miei limiti non riesco a comprendere il funzionamento.
Ho provato a fare ricerche su Internet e ci sono tutorial che iniziano a razzo, spiegando l'argomento ma senza spiegare il motivo ed i vantiaggi del perché si utilizzano.
Sapreste inviarmi a qualche link che spieghi con calma, dalle basi, soprattutto partendo dal motivo del loro utilizzo?
Grazie in anticipo per la gentilezza. Saluti a tutti.

3 Risposte

  • Per iniziare va bene anche la guida di Microsoft
    https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/lambda-expressions

    In breve: sono tutti strumenti utili per rendere il codice più compatto e leggibile, anche se non sono realmente necessari

    Ad esempio
       	
       	int[] numeri = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
            double media = numeri.Average();
            double deviazione_standard = 0.0;
            for (int i = 0; i < numeri.Length; i++)
                deviazione_standard += numeri[i] * numeri[i];
            deviazione_standard = Math.Sqrt(deviazione_standard / numeri.Length - media * media);
    potresti scriverlo come
       	
       	int[] numeri = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
            double media = numeri.Average();
    	double deviazione_standard = Math.Sqrt(numeri.Average(n => n * n) - media * media);
  • Ringrazio entrambi, sia per il libro molto interessante, sia per l'esempio altrettanto illuminante come punto di partenza.
    Grazie mille.
Devi accedere o registrarti per scrivere nel forum
3 risposte