我有这个 LINQ 查询:
List<Customers> customers = customerManager.GetCustomers();
return customers.Select(i => new Customer {
FullName = i.FullName,
Birthday = i.Birthday,
Score = i.Score,
// Here, I've got more fields to fill
IsVip = DetermineVip(i.Score)
}).ToList();
换句话说,我只希望在我的业务方法中根据条件修改客户列表的一两个字段。我有两种方法可以做到这一点,
- 使用
for...each
循环,遍历客户并修改该字段(势在必行的方法) - 使用 LINQ 投影(声明式方法)
在 LINQ 查询中是否可以使用任何技术,仅修改投影中的一个属性?例如,类似:
return customers.Select(i => new Customer {
result = i // telling LINQ to fill other properties as it is
IsVip = DetermineVip(i.Score) // then modifying this one property
}).ToList();