Co to jest wyrażenie lambda i funkcja anonimowa w języku C#

Co To Jest Wyrazenie Lambda I Funkcja Anonimowa W Jezyku C



Wyrażenia lambda i funkcje anonimowe to dwie potężne koncepcje w języku C#, które umożliwiają programistom pisanie zwięzłego, wydajnego i łatwego do odczytania kodu. Te funkcje umożliwiają programistom pisanie funkcji wbudowanych bez konieczności deklarowania oddzielnej metody. W tym artykule omówiono, jakie wyrażenia lambda i funkcje anonimowe znajdują się w języku C#, i podano osobne przykłady dla każdego z nich.

Co to jest wyrażenie lambda w języku C#

Wyrażenie Lambda to krótki, zwięzły sposób na zdefiniowanie metody wbudowanej, bez konieczności deklarowania oddzielnej metody. Zasadniczo jest to anonimowa metoda, którą można przypisać do zmiennej lub użyć jako parametru. Wyrażenia Lambda w C# są reprezentowane przez operator „=>”, który jest odczytywany jako operator „goes to”:

Składnia wyrażenia Lambda to:







( parametr ) => wyrażenie

Gdzie parametr jest wejściem do funkcji, a wyrażenie jest wyjściem funkcji. Poniższy przykład ilustruje użycie wyrażenia Lambda do obliczenia kwadratu liczby:



int kwadrat = ( X ) => X * X ;

W tym przykładzie wyrażenie Lambda pobiera parametr wejściowy x i zwraca kwadrat x. Wynik wyrażenia Lambda jest przypisywany do zmiennej kwadrat, a oto pełny kod tego przykładu:



przy użyciu Systemu ;

Program klasowy {

statyczny próżnia Główny ( strunowy [ ] argumenty ) {

Funkcja < int , int > kwadrat = X => X * X ;

Konsola. Linia zapisu ( kwadrat ( 6 ) ) ;

}

}

W tym przykładzie definiujemy wyrażenie Lambda, które przyjmuje całkowity parametr wejściowy x i zwraca jego kwadrat. Typ Func definiuje, że wyrażenie Lambda przyjmuje parametr wejściowy będący liczbą całkowitą i zwraca wartość całkowitą. Przypisujemy to wyrażenie Lambda do zmiennej kwadratowej, a następnie wywołujemy ją z wartością wejściową 6, a wynikiem będzie 36.





Co to jest funkcja anonimowa C#

Funkcja anonimowa to funkcja, która nie ma nazwy i jest rodzajem wyrażenia Lambda, które jest zdefiniowane i wywołane inline, bez deklarowania oddzielnej metody. Funkcje anonimowe w języku C# są reprezentowane przez słowo kluczowe „delegate”, które służy do deklarowania nowej metody z określoną sygnaturą, składnia funkcji anonimowej jest następująca:



delegat ( parametr ) { wyrażenie }

Gdzie parametr jest wejściem do funkcji, a wyrażenie jest wyjściem funkcji. Poniższy przykład ilustruje użycie funkcji anonimowej do obliczenia sumy dwóch liczb:

delegat ( int A , int B ) { powrót A + B ; }

W tym przykładzie funkcja anonimowa przyjmuje dwa parametry wejściowe x i y i zwraca sumę f i g:

przy użyciu Systemu ;

Program klasowy {

statyczny próżnia Główny ( strunowy [ ] argumenty ) {

Funkcja < int , int , int > suma = delegat ( int F , int G ) { powrót F + G ; } ;

Konsola. Linia zapisu ( suma ( 2 , 3 ) ) ;

}

}

W tym przykładzie definiujemy funkcję anonimową, która przyjmuje dwa parametry wejściowe będące liczbami całkowitymi x i y i zwraca ich sumę. Deklarujemy zmienną sum jako typ Func , który określa, że ​​funkcja przyjmuje dwa parametry wejściowe w postaci liczb całkowitych i zwraca wartość całkowitą. Używamy słowa kluczowego delegate do zdefiniowania funkcji, a następnie wywołujemy ją z wartościami wejściowymi 2 i 3. Wynikiem będzie 5.

Wniosek

Wyrażenia lambda i funkcje anonimowe to zaawansowane koncepcje w języku C#, które umożliwiają programistom pisanie zwięzłego, wydajnego i łatwego do odczytania kodu. Wyrażenia lambda służą do definiowania metod inline bez konieczności deklarowania osobnej metody, natomiast funkcje Anonymous służą do definiowania i wywoływania funkcji inline bez konieczności deklarowania osobnego delegata metody (int x, int y) { return x + y; }. Obie koncepcje są niezbędnymi narzędziami dla każdego programisty C#, który chce pisać wydajny i łatwy w utrzymaniu kod.