在C#中创建字典/查找表

时间:2014-01-27 15:33:56

标签: c# dictionary

我需要将商店的营业时间存储在一个文件中,每个商店有7个不同的营业时间,一个每周一天,我有2000个商店。

我没有浪费空间,而是想出了我只能写一个indexkey并且只在一个单独的文件中存储彼此不相等的开放时间。但为了做到这一点,我需要一个哈希表/查找表来检查它们是否正在插入它的开放时间,或者它是否已经存在于文件中。

这是到目前为止的代码:

orarioString = DateToSec(Opening) + DateToSec(Closing);
int value;
if(orarioDict.TryGetValue(orarioString, out value))
{
    sw.Write("{0,4}", value);
}
else
{
    orarioDict.Add(orarioString, index++);
    sw.Write("{0,4}", index);
}

orarioDict is a Dictionary<String,int>但我不知道它是正确的数据结构,因为我需要手动插入并跟踪我的“索引”。有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

我认为这里最好的解决方案是Dictionary<string, List<int>>。这是商店密钥到每个商店的时间列表的逻辑映射。我认为这里对空间的担忧是没有根据的,特别是因为List<int>的大小可以精确到所需条目的数量。