コレクション内のデータを集約するのに助けが必要です。
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を使用する最良の方法は何ですか?