0

毎日の統計を Windpws Phone の分離ストレージに保存する必要があるため、多次元辞書が最も役立つと思いますが、これを機能させるために必要なロジックに頭を悩ませています。

統計は、擬似コードで次のようになります。

dictionary DailyStats {
1,
[Stats] => dictionary {
  [Class] => 5,
  [Entertainment] => 3,
  [Personnel] => 2,
  [Price] => 7,
  [Quality] => 6
  }
}

私はこれから始めました:

var DailyStats = new Dictionary<int, Dictionary<string, string>>();

しかし、この構造に値を代入したいと思った途端、すぐに道に迷いました。値はアプリによって毎日収集されます。

私はLinqについて考えましたが、私がやろうとしていることはやり過ぎのようです.

誰かが私を正しい方向に向けることができますか?

ありがとう!

4

2 に答える 2

1

StatusClasses???の辞書が1つある場合

var DailyStats = new Dictionary<int, StatusClass>();

と:

class StatusClass
{
    //substitute the vars for their type
    var Class;
    var Entertainment;
    var Personnel;
    var Price;
    var Quality;

    public StatusClass(var ClassValue, var EntertainmentValue, var Personnel.....)
    {
        Class = ClassValue;
        Entertainment = EntertainmentValue;
        ...........
    }
}
于 2013-05-08T18:57:14.287 に答える
0

キーが修正されている場合は、ダニエルのソリューションが最適です。辞書を使用する場合は、次のような静的クラスが役立ちます。

static class DailyStats
{
    static Dictionary<int, Dictionary<string, string>> _dic;

    static DailyStats()
    {
        _dic = new Dictionary<int, Dictionary<string, string>>();
    }

    public static void Add(int i, string key, string value)
    {
        if (!_dic.ContainsKey(i))
            _dic[i] = new Dictionary<string, string>();
        _dic[i][key] = value;
    }

    public static string Get(int i, string key)
    {
        if (!_dic.ContainsKey(i) || !_dic[i].ContainsKey(key))
            return null;
        return _dic[i][key];
    }
}


    DailyStats.Add(1, "Stats", "a");
    Console.WriteLine(DailyStats.Get(1, "Stats"));
于 2013-05-08T19:07:57.067 に答える