我正在尝试做我认为使用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获取一个字符串列表。
答案 0 :(得分:3)
按客户价值过滤后,您应投标结果 - 即仅选择客户ID值:
allClients.Where(c => c.ClientWorth > 500).Select(c => c.ClientId.ToString()).ToList()
进一步阅读:Enumerable.Select