是否可以在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'變量? –