2012-02-22 3 views
0

menuItems라는 IList 컬렉션이 있습니다. 나는이 컬렉션에서 주문을 선택할 수있는 방법LINQ가있는 컬렉션에서 어떻게 선택할 수 있습니까?

public class MenuItem 
    { 
     public string PartitionKey { get; set; } 
     public string RowKey { get; set; } 
     public string Order { get; set; } 
    } 

PartitionKey = "00"RowKey = "20" :

여기 내의 MenuItem 클래스입니다. LINQ를 사용할 수 있습니까? 즉, Order 필드가 무엇인지 이후

답변

2
var result = menuItemsCollection 
    .Where(mnu=>mnu.RowKey=="20" && mnu.PartitionKey=="00") 
    .Select(mnu=>mnu.Order); 

이 쿼리의 결과는 IEnumerable<string> 될 것입니다.

Where()은 컬렉션을 원하는 항목으로 필터링합니다. Select()은 '반환 된'항목을 선택합니다. 당신은 예를 들어, 완전히 다른 개체를 구성하도록 선택할 수 있습니다 :

var orders = menuItems 
    .Where(menuItem=>menuItem.PartitionKey=="00" && menuItem.RowKey=="20") 
    .Select(menuItem=> menuItem.Order) 
0

"라고 말하면 menuitem 목록에 대한 확장 그룹을 찾을 수 있습니다. 같은

IList<MenuItem> list = ... 
var orders = list.Where(item=>item.PartitionKey=="00" && item.RowKey=="20").Select(item => item.Order); 
0

예, 사용합니다 "을 System.Linq : 다음을 수행 할 수 있습니다을 System.Linq 네임 스페이스의 클래스를 사용

var result = menuItemsCollection 
    .Where(mnu=>mnu.RowKey=="20" && mnu.PartitionKey=="00") 
    .Select(mnu=> 
     new SomeOtherClass{Order=mnu.Order, RowKey=mnu.RowKey, RunOn=DateTime.Now}); 
0

뭔가 :

var orders = from item in menuItems 
where item.PartitionKey == "00" && item.RowKey == "20" 
select new { Order = item.Order}; 

http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b보고보십시오은 LINQ의 기초를 배울 수 있습니다. 매우 명확한 예제 집합입니다.

관련 문제