を計算します。クラスは、多かれ少なかれ、このようになります。私はすべてのテストを何度も走っているは、2つの値によってグループ化し、私はいくつかのベンチマークテストの結果を含むクラスを持っている第三1
public class TestResult
{
public string TestName { get; set; }
public int SampleSize { get; set; }
public double Result { get; set; }
}
ので、私は次のように、各サンプルサイズのための多くの結果を持っています。今
TestName: "MemoryTest", SampleSize: 1024, Result: 2.4741
TestName: "MemoryTest", SampleSize: 1024, Result: 2.5029
TestName: "MemoryTest", SampleSize: 1024, Result: 2.4902
TestName: "MemoryTest", SampleSize: 2048, Result: 4.5654
TestName: "MemoryTest", SampleSize: 2048, Result: 4.7156
TestName: "MemoryTest", SampleSize: 2048, Result: 4.2238
TestName: "MemoryTest", SampleSize: 4096, Result: 10.1863
TestName: "MemoryTest", SampleSize: 4096, Result: 9.9471
TestName: "MemoryTest", SampleSize: 4096, Result: 10.2240
TestName: "GraphicsTest", SampleSize: 1024, Result: 2.4741
TestName: "GraphicsTest", SampleSize: 1024, Result: 2.5029
TestName: "GraphicsTest", SampleSize: 1024, Result: 2.4902
TestName: "GraphicsTest", SampleSize: 2048, Result: 4.5654
TestName: "GraphicsTest", SampleSize: 2048, Result: 4.7156
TestName: "GraphicsTest", SampleSize: 2048, Result: 4.2238
TestName: "GraphicsTest", SampleSize: 4096, Result: 10.1863
TestName: "GraphicsTest", SampleSize: 4096, Result: 9.9471
TestName: "GraphicsTest", SampleSize: 4096, Result: 10.2240
私が作成したいですすべての結果の平均を含むリスト。ただし、TestNameとSampleSizeの両方でグループ化されています。各SampleSizeの平均値で、MemoryTestのための3 GraphicsTest用と3:
上記の例で見ると、私は6結果を含むリストを持っているしたいと思います。
私はトラブル二つの異なる列によってグループ化を持っています。
var _Consolidation =
from _R in Results
group _R by new { _R.TestName, _R.SampleSize } into _G
select new TestResult()
{
TestName = _G.Key.TestName,
SampleSize = _G.Key.SampleSize,
Result = from _Res
in Results
where _Res.TestName == _G.Key.TestName && _Res.SampleSize == _G.Key.SampleSize
select _X => new
{
// ? Average Result? How to calculate it?
}
};
しかし、私は、私は「かはわからない:
私の最善のアプローチはこれまでのところです...私はいくつかの方法のためにそれを試してみたが、私はそれに把握を取得することはできません正しい道を行く。