C#에서 이름이 없는 함수 유형을 익명 함수라고 하며 이름이 없는 함수로도 표현할 수 있습니다. 익명 함수는 C#의 람다 식과 C#의 익명 메서드의 두 가지 유형입니다. 여기서 대리자를 생성하는 데 사용되는 익명 함수는 C#에서 람다 식이라고 하며 로컬 함수를 생성하고 인수와 쿼리로 전달할 수 있습니다. LINQ의 코드는 Lambda 표현식을 사용하여 작성할 수도 있습니다. 매개변수 목록을 사용할 수 없다는 점을 제외하면 익명 메소드에서도 동일한 기능이 제공됩니다.
C#에는 두 가지 유형의 익명 함수가 있습니다. 그들은:
(input-parameters) => expression
숫자의 제곱을 구하는 프로그램에서 람다 표현식을 보여주는 C# 프로그램:
코드:
using System; //a namespace called program is defined namespace program { //a class called check is defined class check { delegate int Findsquare(int number); //main method is called static void Main(string[] args) { //a lambda expression to find the square of a number is defined Findsquare Obtainsquare = r => r * r; int l = Obtainsquare(3); Console.WriteLine("The Square of the given number is: "+l); } } }
출력:
위 프로그램에는 program이라는 네임스페이스가 정의되어 있습니다. 그런 다음 check라는 클래스가 정의됩니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 숫자의 제곱을 찾기 위해 람다 표현식이 정의됩니다. 람다식을 이용하여 구한 숫자의 제곱이 표시됩니다.
목록에 숫자가 있는지 여부를 결정하는 프로그램에서 람다 표현식을 보여주는 C# 프로그램:
코드:
using System; using System.Collections.Generic; //a namespace called program is defined namespace program { //a class called check is defined class check { //main method is called static void Main(string[] args) { //a new list of type integer is created List<int> mylist = new List<int>(); //integers are added to the list using add() method mylist.Add(10); mylist.Add(20); mylist.Add(30); //a lambda expression and find method is used to determine if a number is present in the list int found = mylist.Find(r => r == 20); if(found==0) { Console.WriteLine("The number is present in the list"); } else { Console.WriteLine("The number is not present in the list"); } //a lambda expression and find method is used to determine if a number is present in the list found = mylist.Find(r => r == 40); if(found==0) { Console.WriteLine("The number is present in the list"); } else { Console.WriteLine("The number is not present in the list"); } } } }
출력:
위 프로그램에는 program이라는 네임스페이스가 정의되어 있습니다. 그런 다음 check라는 클래스가 정의됩니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 정수 유형의 새 목록이 생성됩니다. 그런 다음 Add() 메서드를 사용하여 정수가 목록에 추가됩니다. 그런 다음 Find() 메서드와 함께 람다 표현식을 사용하여 숫자가 목록에 있는지 여부를 결정합니다.
Delegate(parameter_list) { //Block of code };
프로그램에서 익명 메소드를 보여주는 C# 프로그램:
코드:
using System; //a class called program is defined class program { //a delegate is created by using delegate keyword public delegate void subject(string favsubject); // Main method is called static public void Main() { // a parameter is passed to the anonymous method using delegate keyword subject sub = delegate(string favsubject) { Console.WriteLine("{0} is my favourite subject", favsubject); }; sub("C#"); } }
출력:
위 프로그램에는 수업 프로그램이 정의되어 있습니다. 그런 다음 위임 키워드를 사용하여 위임을 만듭니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 대리자 키워드를 사용하여 매개변수가 익명 메서드에 전달됩니다.
외부 메서드에 정의된 변수에 액세스할 수 있는 프로그램의 익명 메서드를 보여주는 C# 프로그램:
코드:
using System; //a class called program is defined class program { //anonymous method is declared using delegate keyword public delegate void subject(string favsubject); // Main method is called static public void Main() { //a string variable is defined in the outside method from anonymous method string favsubject1 = "Coding_in_C#"; // a parameter is passed to the anonymous method using delegate keyword subject sub = delegate(string favsubject) { Console.WriteLine("{0} is my favourite subject", favsubject); Console.WriteLine("I also like {0}", favsubject1); }; sub("C#"); } }
출력:
위 프로그램에는 program이라는 클래스가 정의되어 있습니다. 그런 다음 위임 키워드를 사용하여 위임을 만듭니다. 그런 다음 기본 메서드가 호출됩니다. 그런 다음 무명 메서드의 외부 메서드인 문자열 변수가 정의됩니다. 그런 다음 대리자 키워드를 사용하여 매개 변수가 익명 메서드에 전달됩니다. 무명 메소드는 무명 메소드 외부의 변수에도 액세스합니다.
위 내용은 C# 익명 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!