1

我正在開發Windows Phone 8應用程序,我在其中使用可移植類庫。 這些項目似乎沒有LINQ支持。c#便攜式類庫:按屬性查找列表中的項目

有沒有一種很好/推薦的方法來搜索基於屬性值的列表中的項目?

如果我得到它的權利,我不能用這樣的:list.Find(i => i.ID == someValue);

編輯:我目前使用foreach但想知道是否有另一種解決方案。

的PCL設置: .NET 4.5,Silverlight 4中的Windows Phone 7.5和Windows商店

+0

'foreach'?這是所有linq不管怎麼說 – Liam

+0

我目前正在使用它(foreach),只是好奇,如果存在另一種解決方案。應該加入這個問題... – doschi

+0

怎麼沒有LINQ支持PCL?你有沒有在這方面參考MSDN? – Haspemulator

回答

2

因爲你不需要Xbox,所以你可以在PCL中使用LINQ。 Blog post解釋使用PCL時的限制。

LINQ代碼:

list.FirstOrDefault(i=>i.ID==someValue); 
2

您可以使用list.FirstOrDefault(I => i.ID == someValue中);

+0

這是LINQ ... – Haspemulator

+0

的System.Linq的命名空間是明確可在PCL中獲得。我只是將它添加到我的一個! – Alexander

-1

如果按搜索屬性對列表進行排序,那麼舊的二進制搜索應該有效。然後,你將具有O(log(n))的計算複雜度,而不是O(n),儘管排序和某些列表大小的開銷可能使所有這些技巧可以忽略不計。

+0

沒有解釋的降價是浪費時間。 – Haspemulator