我需要将商店的营业时间存储在一个文件中,每个商店有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>
但我不知道它是正确的数据结构,因为我需要手动插入并跟踪我的“索引”。有更好的方法吗?
答案 0 :(得分:2)
我认为这里最好的解决方案是Dictionary<string, List<int>>
。这是商店密钥到每个商店的时间列表的逻辑映射。我认为这里对空间的担忧是没有根据的,特别是因为List<int>
的大小可以精确到所需条目的数量。