在c#中为Windows Phone 7.8创建一个多维字典

本文关键字:一个 字典 创建 中为 Windows Phone | 更新日期: 2023-09-27 18:12:36

我需要将每日统计数据存储在windows 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,但是对于我想做的事情来说,它似乎有点过头了。

谁能给我指个正确的方向?

谢谢!

在c#中为Windows Phone 7.8创建一个多维字典

如果您有一个带有StatusClasses的字典??

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;
        ...........
    }
}

如果你的钥匙是固定的Daniel的解决方案是可行的。如果您想使用字典,像这样的静态类可能会有所帮助:

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"));