2012-12-26 1 views
1

저는 MVC (C#)를 처음 사용하고 있기 때문에 화살표 또는 비교 연산자의 사용법을 일부 알지 못합니다. 나는 그것이 무엇을 의미하는지 말할 수 없다.C#이게 무슨 뜻입니까? (m => m.Title)

나는이 MVC (C#을)

무엇을위한 "> ="뜻 하는가에 많은 지역에서 사용되는 본 적 있어요? 그것은 화살인가 아니면 비교 연산자입니까?

예 1 return storeDB.Albums.Orderby(a => a.Price)

예 2 .ForEach(a => context.Albums.Add(a));

예 3 bool isValid = storeDB.Orders.Any(o => o.OrderId == id && o.Username == User.Identity.Name);

예 4 var addedAlbum = storeDB.Albums .Single(album => album.AlbumId == id);

예 5 @Html.HiddenFor(model => model.Id)

,536,

이해하기 쉽게 설명하십시오. 감사.

+4

ASP.NET MVC에 들어가기 전에 먼저 C#을 먼저 배워야합니다. –

+0

C#에 익숙하지 않은 채 람다 식을 설명하는 방법을 알기가 어렵습니다. 자바 또는 다른 OO 언어에 대한 배경 지식이 있습니까? –

답변

3

이것은 lambda expressions입니다. anonymous methods (즉 대표자) 만들기의 바로 가기입니다. 연산자 =>goes to 연산자입니다. 익명 메소드 본문과 익명 메소드 매개 변수를 구분합니다.


storeDB.Albums.Orderby(a => a.Price) 

는 여기에서 우리는 매개 변수로 앨범을 받아들이는 익명의 방법이있다. 이 앨범은 본문으로 이동하여 앨범의 Price 속성 값을 반환합니다.

delegate(Album a) { return a.Price; } 

또는 명명 방법 : 위임 구문과 같은 당신이 볼 수 있듯이

private decimal GetAlbumPrice(Album a) 
{ 
    return a.Price; 
} 

, 람다 식의 구문은 동일한 결과를 달성하기위한 짧은 형태이다.

0

너는 이것을 http://msdn.microsoft.com/en-us/library/bb397687.aspx이라고 읽어야한다.

단순한 용어로 Lambdas는 기본적으로 대리인 또는 표현식 유형을 만드는 데 사용할 수있는 익명의 함수입니다. 그것은 기본적으로 델리게이트를 작성하는 데 편리한 축약 형입니다. (이것은 너무 단순한 방법입니다.)

관련 문제