2017-04-27 96 views
1

我想要做我認爲使用Linq lambda的一個非常簡單的想法,它可能是,但我找不到示例在任何教程。如何寫一個lambda來獲得基於對象中另一個屬性的一個屬性

我有一個簡單的類與幾個屬性。我想根據該類中另一個值的值獲取其中一個屬性的列表。

下面是代碼的一個例子,使用LINQ to得到正確的結果:

public class Client 
{  
    public int ClientId { get; set; } 


    public int ClientWorth { get; set; } 


    public strin ClientName { get; set; }  
} 
. 
. 
. 
. 
List<Client> allClients = this.GetAllClients(); 

List<string> richClients = (
        from c in allClients 
        where c.ClientWorth > 500 
        select c.ClientId.ToString()).ToList(); 

誰能告訴我如何做到這一點使用Lambda 我可以做到以下幾點:

List<Clients> richClients = allClients.Where(x => x.ClientWorth >500)

哪給我一個所有客戶端的列表,但我想用客戶端id返回一個字符串列表。

回答

3

通過客戶價值值濾波後,你應該項目結果 - 即選擇值僅客戶端ID:

allClients.Where(c => c.ClientWorth > 500).Select(c => c.ClientId.ToString()).ToList() 

延伸閱讀:Enumerable.Select

+1

感謝謝爾蓋,這就是我一直在尋找我試過a。所有,我沒有想到我可以使用具有更多標準的選擇。感謝您的快速響應 – AidanO

+1

@AidanO LINQ有詳細記錄 - 考慮使用MSDN,如果某些操作員對您不清楚https://msdn.microsoft.com/en-us/library/system.linq.enumerable_methods%28v = vs.110%29.aspx?F = 255&MSPPError = -2147217396 –

相關問題