在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,但是对于我想做的事情来说,它似乎有点过头了。
谁能给我指个正确的方向?谢谢!
如果您有一个带有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"));