[英]LINQ - Select anonymous type which based on a collection property
我有以下課程:
public class DistributionItem
{
public int DeviceID { get; set; }
public string DeviceName { get; set; }
public double? Export { get; set; }
public double? Import { get; set; }
public List<double?> Tarrifs { get; set; }
public bool HasChild { get; set; }
public int OrderNum { get; set; }
public double PF { get; set; }
public int? MaxDmd { get; set; }
public string ImageUrl { get; set; }
public int ParentID { get; set; }
public double? Total { get; set; }
}
我想在該類的列表上進行LINQ Select
,以拉出如下所示的某些屬性:
return data.Select(x => new
{
x.DeviceID,
x.DeviceName,
x.HasChild,
x.KwhImport,
x.KwhExport,
x.MaxDmd,
x.ParentID
}).ToList();
如何將Tarrifs
值作為單獨的屬性添加到匿名對象?
除非您在編譯時知道列表中的項目數,否則就不能。 匿名類型的想法是它們是靜態類型的 。 編譯器在編譯時就知道所有屬性及其類型是什么。 如果您不知道該信息,則不能使用。
例如,如果您知道總是有兩個項目,則可以執行以下操作:
return data.Select(x => new
{
x.DeviceID,
x.DeviceName,
x.HasChild,
x.KwhImport,
x.KwhExport,
x.MaxDmd,
x.ParentID,
Tarrifs1 = x.Tarrifs[0],
Tarrifs2 = x.Tarrifs[1],
}).ToList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.