是否可以在LINQ Select中包含或排除列?LINQ SELECT中的IF语句包含列
var numberOfYears = Common.Tool.NumberOfYear;
var list = users.Select(item => new
{
Id = item.Id,
Name= item.Name,
City= Item.Address.City.Name,
STATUS = Item.Status,
if(numberOfYears == 1)
{
Y1 = item.Records.Y1,
}
if(numberOfYears == 2)
{
Y1 = item.Records.Y1,
Y2 = item.Records.Y2,
}
if(numberOfYears == 3)
{
Y1 = item.Records.Y1,
Y2 = item.Records.Y2,
Y3 = item.Records.Y3,
}
}).ToList();
}
的想法是,我想显示Y1,Y2,Y3只要有值
您可以对每个属性使用三元运算符。产生的对象必须是相同的,所以每个对象都必须具有3个'Yx'属性。只需使用一些默认值或“null”值。 – kiziu
如果你不介意使用[Dynamic Linq](http://stackoverflow.com/questions/16516971/linq-dynamic-select) –
你可能会如何使用'list'变量? –