Linq의 Lambda에 대한 몇 가지 기초적인 문제
4661 단어 lambda
우리가 Linq 조회나 다른 방식으로 IQueryable
IQueryable
<
Product
>
product
=
from p
in
db.Products select p;
만약에 우리가 이 제품 목록에서 Product ID가 5인 것을 꺼내려고 한다면, 우리는 당연히 for나foreach로 두루 비교할 수도 있고, Linq 문장을 써서 검색할 수도 있다. 이 몇 가지 방법은 모두 지정된 Product ID의 Product를 찾을 수 있다.
for 방법
Product proOne;
for (int i = 0; i < product.Count(); i++)
{
if (product.ToList().ElementAt(i).ProductID== 5)
{
proOne = product.ToList().ElementAt(i);
}
}
foreach 방법은 for 방법과 유사하며 더 이상 군말하지 않습니다.
Linq 쿼리:
proOne
=
(from p
in
product
where
p.ProductID
==
5
select p).ToList().ElementAt(
0
);
이상의 방법이 좀 번거로우며 Linq 지연 조회의 장점을 지워버렸는지 Lambda 표현식 방법을 살펴보자.
proOne
=
product.Single(p
=>
p.ProductID
==
5
);
짧은 몇 글자만으로도 위의 몇 가지 방법 중의 번거로운 절차를 완성할 수 있고 Linq 지연 조회의 장점을 잘 보존할 수 있다.이렇게 프로그램 쓰면 시원하지 않아요?Lambda 표현식의 장점을 느꼈습니다. 다음은 Lambda 표현식의 다른 용법을 살펴보고 두 가지 가장 자주 사용하는 방법을 소개하겠습니다. Where와 Select는 먼저 Select 방법입니다.
var proIDList
=
product.Select(p
=>
p.ProductID
>
5
);
Select 방법은 Single 방법 안의 문장과 유사하다는 것을 알 수 있다. 사실 그들이 되돌아오는 대상은 다르다. Single 방법은 목록의 한 대상을 꺼내는 것이다.Select 메서드는 목록에서 조건에 맞는 여러 객체의 필드 값을 체크 아웃하는 목록입니다.이 문장에서 Select 방법은 IEnumerable
var proList
=
product.Where(p
=>
p.ProductID
>
5
);
Where는 Product 객체 열을 생성하므로 Select 메서드와 구별됩니다.이것은 제가 배운 것들입니다. 여러분과 함께 나누고 싶습니다. 문제가 있으면 많은 분들의 지적을 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Lambda Cron 예제(Terraform)이 기사에서는 EventBridge를 사용하여 일정에 따라 람다를 트리거하는 방법을 살펴보겠습니다. Terraform을 사용하여 이를 구현할 것입니다. 이 예제에서는 간단한 Golang Hello World 예제를 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.