2012-02-22 91 views
0

我有一個名爲menuItems的IList集合。如何從LINQ集合中選擇?

這裏是我的MenuItem類:

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

如何從這個集合中選擇訂單時PartitionKey = "00"RowKey = "20"。我可以使用LINQ嗎?

回答

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

此查詢的結果將是一個IEnumerable<string>,因爲那是Order領域是什麼。

Where()將集合過濾爲您想要的項目。 Select()選擇什麼是'返回'。你可以選擇撰寫一個完全不同的對象,例如:

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

在System.Linq的命名空間中使用類,你可以做到以下幾點:

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

是的,您必須使用「System.Linq的「並且您將爲您的菜單項列表找到一組擴展名。

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