2

コレクション内のデータを集約するのに助けが必要です。

RrvResponse クラス

/// <summary>
    /// The RRV response.
    /// </summary>
    public class RrvResponse
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="RrvResponse"/> class.
        /// </summary>
        public RrvResponse()
        {
            this.BoDPoints = new ObservableCollection<BidOfferPoint>();    
        }

        /// <summary>
        /// Gets or sets the id.
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// Gets or sets the message date.
        /// </summary>
        public DateTime MessageDate { get; set; }

        /// <summary>
        /// Gets or sets the BOD points.
        /// </summary>
        public ObservableCollection<BidOfferPoint> BoDPoints { get; set; }
    }

実装、

var responses = new ObservableCollection<RrvResponse>();

// ....Load responses...
// ...
// ...

応答の数は 5 であるため、応答内に BoDPoints の 5 つの ObservableCollection があります。

BOD points are,

    /// <summary>
        /// The bid offer point.
        /// </summary>
        public class BidOfferPoint
        {

            /// <summary>
            /// Gets or sets the date.
            /// </summary>
            public DateTime Date { get; set; }

            /// <summary>
            /// Gets or sets the time.
            /// </summary>
            public string Time { get; set; }

            /// <summary>
            /// Gets or sets the volume.
            /// </summary>
            public decimal Volume { get; set; }

            /// <summary>
            /// Gets or sets the price.
            /// </summary>
            public decimal Price { get; set; }
        }

サンプル、

Observable Collection Bod - 1
2013-06-21 
00:00
100
10

2013-06-21
00:15
120
15

2013-06-21
00:30
150
9

観測可能なコレクション Bod - 2

2013-06-21 
00:00
Observable Collection Bod - 1
2013-06-21 
00:00
100
10

2013-06-21
00:15
120
15

2013-06-21
00:30
150
9
40
1

2013-06-21
00:15
10
0.5

2013-06-21
00:30
11
0.1

観測可能なコレクション Bod - 3

2013-06-15 
00:00
100
10

2013-06-15
00:15
120
15

2013-06-15
00:30
150
9

コレクション全体で日付、次に時間でグループ化し、ボリュームを集計したいと思います。したがって、上記の例では、2013 年 6 月 21 日の 00:00 のすべてのボリュームを集約し、2013 年 6 月 21 日の 00:15 のすべてのボリュームを集約する必要があります。

これを行うためにLinqを使用する最良の方法は何ですか?

4

1 に答える 1