Cos'è l'espressione Lambda in C#
Un'espressione Lambda è un modo breve e conciso per definire un metodo inline, senza la necessità di dichiarare un metodo separato. Si tratta essenzialmente di un metodo anonimo che può essere assegnato a una variabile o utilizzato come parametro, le espressioni lambda in C# sono rappresentate dall'operatore “=>”, che viene letto come operatore “goes to”:
La sintassi per un'espressione Lambda è:
( parametro ) => espressione
Dove il parametro è l'input della funzione e l'espressione è l'output della funzione. L'esempio seguente mostra l'utilizzo di un'espressione Lambda per calcolare il quadrato di un numero:
int piazza = ( X ) => X * X ;
In questo esempio, l'espressione Lambda accetta un parametro di input x e restituisce il quadrato di x. Il risultato dell'espressione Lambda è assegnato alla variabile square ed ecco il codice completo per questo esempio:
usando Sistema ;
programma di classe {
statico vuoto Principale ( corda [ ] arg ) {
Funz < int , int > piazza = X => X * X ;
Consolle. Linea di scrittura ( piazza ( 6 ) ) ;
}
}
In questo esempio, definiamo un'espressione Lambda che accetta un parametro di input intero x e restituisce il suo quadrato. Il tipo Func
Cos'è la funzione anonima C#
La funzione anonima è una funzione senza nome ed è una sorta di espressione Lambda definita e chiamata inline, senza dichiarare un metodo separato. Le funzioni anonime in C# sono rappresentate dalla parola chiave 'delegate', che viene utilizzata per dichiarare un nuovo metodo con una firma specifica, la sintassi per una funzione anonima è:
delegare ( parametro ) { espressione }
Dove il parametro è l'input della funzione e l'espressione è l'output della funzione. L'esempio seguente mostra l'utilizzo di una funzione Anonymous per calcolare la somma di due numeri:
delegare ( int UN , int B ) { ritorno UN + B ; }In questo esempio, la funzione Anonymous accetta due parametri di input x e y e restituisce la somma di f e g:
usando Sistema ;programma di classe {
statico vuoto Principale ( corda [ ] arg ) {
Funz < int , int , int > somma = delegare ( int F , int G ) { ritorno F + G ; } ;
Consolle. Linea di scrittura ( somma ( 2 , 3 ) ) ;
}
}
In questo esempio, definiamo una funzione anonima che accetta due parametri di input interi x e y e ne restituisce la somma. Dichiariamo la variabile sum come un tipo Func
Conclusione
Le espressioni lambda e le funzioni anonime sono concetti potenti in C# che consentono agli sviluppatori di scrivere codice conciso, efficiente e di facile lettura. Le espressioni lambda vengono utilizzate per definire metodi inline senza la necessità di dichiarare un metodo separato, mentre le funzioni anonime vengono utilizzate per definire e chiamare funzioni inline senza la necessità di dichiarare un metodo separato delegate (int x, int y) { return x + y; }. Entrambi i concetti sono strumenti essenziali per qualsiasi sviluppatore C# che desideri scrivere codice efficiente e gestibile.