一組查詢我有2種類型:遇到問題表達LINQ
public class TimedValue
{
public DateTime TimeStamp { get; set; }
public double Value { get; set; }
}
public class Stats
{
IList<TimedValue> Values { get; set; }
... // some other fields
}
統計的多個實例存儲在一個IEnumerable集合對象。我試圖想出一個LINQ查詢,它會給我所有Stats實例的按時間順序的Value總數。這意味着它會經歷每個Stats對象中的每個TimedValue,並且如果它們的TimeStamps匹配,它將添加Value字段。所以最後我會得到一份按時間順序排列(從最舊到最新)的雙打名單。
在LINQ方面很弱,我在這方面失敗了。我只得到儘可能做到:
.Select(stat => stat.Values)
要向下投射到:
List<List<Value>>
這是統計對象,我需要的子集,但我無法弄清楚如何組我需要的總值。
例子(因爲有一些混亂,我的意思):
假設我們有一個統計數據的2個實例,我在這裏簡化符號,只是爲了讓例子短:
Stats1 :值= {{「Monday」,1.1},{「Tuesday」,2.2}}
Stats2:Values = {{「Monday」,1.1},{「Tuesday」,2.2},{「Friday」 3.3}}
結果應該是雙打列表:{2.2,4.4 ,3.3}
這是LINQ的真棒資源。 http://msdn.microsoft.com/en-us/vcsharp/aa336746 –
您是否想要把它們都在一個單獨的列表,如清單或你想要值的每個子列表是一個聚合值某種如平均時間戳和平均值? –
增加了一個例子來澄清所需的最終結果。 –