我正在处理字典数组,this SO Post对于实现我想要的目标非常有帮助。
但是,现在我想根据代码输出初始化Dictionary
数组索引。
我有一个Dictionary<int,string>
,我将Id
存储为Key。我有10个字典的数组如下:
Dictionary<int, string>[] matrix = new Dictionary<int, string>[10];
因此,基于(Id%10)
的值,我想将该记录存储在相应的数组中。例如,如果id= 12
,我想将其存储在matrix[2]
中。如果id = 15
,我想将其存储在matrix[5]
。
现在,问题是,如何检查每次是否为特定索引初始化字典。如果是,则将记录添加到字典中,否则初始化实例,然后将记录添加到Dictionary。
如下所示:
if {} // if dict with id%10 is initialized then
{
matrix[id%10].Add();
}
else
{
matrix[id%10] = new Dictionary<int,string>();
matrix[id%10].Add();
}
编辑:我知道我可以先使用循环初始化所有内容,但我只想在必要时初始化。
答案 0 :(得分:2)
Dictionary<int, string>[] matrix = new Dictionary<int, string>[10];
int id = 0; // Number here
int index = id % 10;
if (matrix[index] == null)
{
matrix[index] = new Dictionary<int, string>();
}
int key = 0; // key you want to insert
if (matrix[index].ContainsKey(key))
{
// Dictionary already has this key. handle this the way you want
}
else
{
matrix[index].Add(0, ""); // Key and value here
}