如何编写lambda以根据对象中的另一个属性获取一个属性

时间:2017-04-27 13:14:37

标签: c# linq

我正在尝试做我认为使用Linq lambda的一个非常简单的想法,它可能是,但我在任何教程中找不到一个例子。

我有一个带有一些属性的简单类。我想根据该类中另一个值的值获取其中一个属性的列表。

以下是代码示例,使用Linq获取正确的结果:

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获取一个字符串列表。

1 个答案:

答案 0 :(得分:3)

按客户价值过滤后,您应投标结果 - 即仅选择客户ID值:

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

进一步阅读:Enumerable.Select