我有一个班级:
public class ChartData
{
public Decimal? Value { get; set; }
public DateTime Date { get; set; }
}
我也有
List<List<ChartData>> chartData = List<List<ChartData>>();
chartData可以包含任意数量的List,它可以是一个,但也可以是十个列表。
我需要将这种结构弄平。例如,如果我在chartData中有两个列表,我需要获取每个对象包含字段的对象列表:
{
Decimal? Value0
Decimal? Value1
DateTime Date
}
如果我有十个列表,我需要获取每个对象包含字段的对象列表:
{
Decimal? Value0
Decimal? Value1
.
.
.
Decimal? Value9
DateTime Date
}
是否可以使用linq或其他C#函数来实现?
提前致谢。
答案 0 :(得分:3)
如果chartData
确实可以包含任何数量的列表,那么您就不幸了,因为您无法在.NET类中动态创建字段。必须在编译时知道类的确切结构,即使它是匿名类。
您可以考虑使用
{
List<Decimal?> Values,
DateTime Date
}
或
{
Decimal?[] Values,
DateTime Date
}
相反,它们都可以通过LINQ轻松创建。如果你详细说明为什么你需要将它们作为单独的字段(可能是某种序列化要求?如果是,哪种格式?),SO社区可能会建议替代解决方案。此外,您应指定应使用哪个 Date 值,如果它们不同。
答案 1 :(得分:1)