2

私はクラスを持っています:

    public class ChartData
    {        
      public Decimal? Value { get; set; }        
      public DateTime Date { get; set; }        
    }

そして私も持っています

    List<List<ChartData>> chartData = List<List<ChartData>>();

chartData には任意の数の List を含めることができます。1 つにすることも、10 個にすることもできます。

この構造を平らにする必要があります。たとえば、chartData に 2 つのリストがある場合、各オブジェクトにフィールドが含まれるオブジェクトのリストを取得する必要があります。

    {
      Decimal? Value0
      Decimal? Value1
      DateTime Date
    }

10 個のリストがある場合、各オブジェクトにフィールドが含まれるオブジェクトのリストを取得する必要があります。

    {
      Decimal? Value0
      Decimal? Value1
      .
      .
      .
      Decimal? Value9
      DateTime Date
    }

linq または他の C# 関数を使用してそれを行うことは可能ですか?

前もって感謝します。

4

2 に答える 2

3

.NET クラスでフィールドを動的に作成することはできないため、chartData実際に任意の数のリストを含めることができる場合は不運です。クラスの正確な構造は、匿名クラスであっても、コンパイル時にわかっている必要があります。

あなたは使用を検討するかもしれません

{
    List<Decimal?> Values,
    DateTime Date
}

また

{
    Decimal?[] Values,
    DateTime Date
}

どちらも LINQ を介して簡単に作成できます。なぜそれらを別々のフィールドにする必要があるのか​​ を詳しく説明すると(おそらく、ある種のシリアル化要件ですか?そうであれば、どのフォーマットですか?)、SOコミュニティは代替ソリューションを提案できるかもしれません。さらに、異なる場合は、どのDate値を使用するかを指定する必要があります。

于 2012-11-27T14:26:01.430 に答える