집 >백엔드 개발 >C#.Net 튜토리얼 >C# 람다 표현식
C#의 람다 표현식은 표현식이나 여러 문을 포함하는 익명 함수이며 람다 표현식을 구현하는 데 사용되는 연산자는 '=>'입니다. 람다 표현식은 두 부분으로 구성됩니다. 그 중 왼쪽 부분은 입력이고 오른쪽 부분은 표현식입니다. 단순 람다 표현식은 인수를 받아 값을 반환하며 람다 표현식을 사용하는 가장 일반적인 시나리오 중 하나는 목록입니다.
이제 C#의 람다 표현식이 무엇인지 이해했으니, 표현식을 구현하기 위한 표준 구문을 이해해 보겠습니다. 람다 표현식에는 두 가지 유형에 대한 두 가지 구문이 있습니다.
구문:
input => expression;
구문:
input => { statements };
상황에 따라 개발자는 자신의 필요에 맞는 것을 자유롭게 선택할 수 있습니다.
람다 표현식을 구현할 때 양면과 => 사이에. 왼쪽은 모든 유형의 입력을 받아들이고 오른쪽은 표현식이나 명령문을 받아들입니다. C#에서 Lambda 표현식은 컴파일러가 해당 컨텍스트를 기반으로 변수 유형을 추론할 수 있도록 하는 기능을 구현합니다. 이 기능을 유형 추론 기능이라고 합니다. 함수를 메서드 호출에 인수로 전달할 수 있습니다.
모든 람다 표현식은 내부적으로 인터페이스에 매핑됩니다. 이제 Lambda 표현식을 사용하여 프로그램을 실행하면 컴파일러는 표현식의 컨텍스트에 따라 할당할 인터페이스를 결정하며 모든 작업은 컴파일 타임에 발생합니다. 이러한 표현식은 익명 메소드, 즉 이름이 없는 메소드를 의미하며 기능적 인터페이스로 구현됩니다.
예: 이제 람다 표현식의 구현부터 시작하겠습니다. 첫 번째 프로그램에서는 사용자 정의 클래스를 사용하는 간단한 형식으로 람다 표현식을 구현하고 두 번째 예에서는 목록에서 처음으로 홀수 항목을 찾는 매우 간단합니다. 그럼 시작해 보겠습니다.
코드:
using System; using System.Collections.Generic; using System.Linq; class City_Details { public int cityCode { get; set; } public string cityName { get; set; } } class det { public static void Main(string[] args) { List<City_Details> details = new List<City_Details>() { new City_Details{ cityCode = 1, cityName = "Mumbai" }, new City_Details{ cityCode = 2, cityName = "Chennai" }, new City_Details{ cityCode = 3, cityName = "Pune" }, new City_Details{ cityCode = 4, cityName = "Ahmedabad" }, new City_Details{ cityCode = 5, cityName = "Delhi" } }; var newDetails = details.OrderBy(x => x.cityName); foreach(var value in newDetails) { Console.WriteLine(value.cityCode + " " + value.cityName); } } }
코드 설명: 시스템 파일을 가져온 후 도시 코드와 cityName이라는 두 가지 속성이 있는 클래스를 만듭니다. 그런 다음 main 및 기타 기능을 포함하는 det 클래스가 있습니다. 여기서는 첫 번째 클래스를 호출하고 도시 코드와 이름을 목록 형식으로 할당합니다. 그런 다음 OrderBy를 사용하여 세부 정보 목록을 순서대로 나열하고 여기에서 람다 식을 구현합니다. 이제 도시 이름별로 목록에 데이터를 나열했으므로 foreach 루프를 입력하고 모든 다음 줄을 인쇄합니다. 오류 없이 실행되면 이 코드는 목록을 인쇄하지만 다르게는 A로 시작하는 Ahmedabad가 먼저 인쇄되고 Pune이 맨 아래로 이동한다는 의미입니다. 아래에 첨부된 출력 스크린샷을 참조하세요.
보시다시피 출력은 예상대로 알파벳 순입니다. 이제 두 번째 예로 넘어가면 홀수와 짝수로 구성된 간단한 숫자 목록이 있습니다. 그럼 두 번째 프로그램을 이해하고 실행해 보겠습니다.
코드:
using System; using System.Collections.Generic; class ExampleTwo { static void Main() { List<int> newList = new List<int>() { 10, 21, 31, 40 }; int oddNumber = newList.FindIndex(x => x % 2 != 0); Console.WriteLine( "\n " + oddNumber); } }
코드 설명: 이것은 간단히 목록과 람다 표현식을 사용하는 람다 표현식 구현의 가장 간단한 예입니다. 시스템 파일을 시작한 다음 Main으로 클래스ExampleTwo를 시작합니다. 그런 다음 정수 목록을 초기화했고 목록에는 4개의 숫자가 있습니다. 이것은 두 개의 홀수와 두 개의 짝수입니다. 다음으로 FindIndex를 사용하는 정수 변수가 있고 여기에서 Lambda 표현식을 사용합니다. FindIndex 내에는 입력으로 x가 있고 출력은 숫자 2로 나눌 수 없는 숫자가 됩니다. 이 수학 후에 홀수에 대한 인덱스가 생깁니다. 그리고 마지막으로 홀수가 처음 나타나는 인덱스 번호를 반환하는 출력 문이 있습니다. 아래에 첨부된 출력 스크린샷을 참조하세요.
코드 설명에서 이해했듯이 출력은 홀수 자체가 아닌 홀수의 인덱스 번호가 됩니다. 여기에는 21의 인덱스인 1이 있습니다.
이제 C#의 람다 표현식에 대해 거의 모든 것을 배웠으므로 이를 사용하면 어떤 이점이 있는지 이해해야 합니다. 주요 장점 중 하나는 코드를 재사용할 수 있다는 점이며, 그러면 가독성이 향상됩니다. 입력 유형을 지정하지 않아도 되므로 가장 유연한 기능 중 하나입니다.
이점 중 하나는 람다 표현식을 사용하고 싶은 곳 어디에서나 메서드를 작성할 수 있다는 것입니다. 이는 메소드를 한 번만 생성하고 사용해야 할 때 가장 좋습니다. 이렇게 하면 별도의 메소드를 선언하고 작성할 필요가 없어 많은 노력이 절약됩니다.
모든 프로그래밍 언어의 람다 표현은 주요 용도로 사용될 수 있습니다. C#에서 Lambda 식은 익명 식으로 작동합니다. 여기서 왼쪽에는 입력이 있고 오른쪽에는 식 또는 문 목록이 있습니다. 람다 표현식은 "=>"로 표시됩니다. 어떤 종류의 입력이라도 받을 수 있는 유연성이 개발자에게 큰 도움이 됩니다.
위 내용은 C# 람다 표현식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!