これはあなたのニーズを満たさないかもしれませんが、マルチキー データセットを処理する簡単な方法は、すべての「キー」フィールドと「値」キー (それぞれ必要な数) を含むオブジェクトを作成することであることがわかりました。次に、各キーのルックアップ式を作成します。
例えば:
class MyData
{
// Your keys
public string Dim1;
public string Dim2;
public string Time;
// Your values
public string Value;
}
「索引付け」され、次のように取得されます。
// add all your data to a list or collection
var data = new List<MyData>();
// this provides the entry point to our dataset
var lookupDim1 = data.ToLookup(d => d.Dim1);
var lookupDim2 = data.ToLookup(d => d.Dim2);
var lookupTime = data.ToLookup(d => d.Time);
// sample retrievals
IEnumerable<MyData> sampleData1 = lookupDim1["DimValue1"];
var sampleData2 = lookupDim2["DimValue2"].Intersect( lookupTime["1999"] );