错误让我迷茫,据我所知这个错误原因有两个:未声明和重复声明,貌似我的都不沾边MyStruct
{
    int id;
}
Dictionary<int,MySruct>[] subDic=new Dictionary<int,MyStruct>[10];
Dictionary<int,Dictionary<int,MyStruct>> dic=new Dictionary<int,Dictionary<int,MyStruct>>();
for(int i=0;i<10;i++)
{
    dic.Add(i,subDic[i]);
}
foreach(int i in arrayI)//arrayI为储存编号i的数组
{
    MyStruct ms=new MyStruct();
    ms.id=i;
    subDic[i%10].Add(i,ms);//这句报错
}大家帮忙看看,我用的Dictionary挺迷糊的,感觉很别扭。

解决方案 »

  1.   

    Dictionary<int,MySruct>[] subDic=new Dictionary<int,MyStruct>[10];
    Dictionary<int,Dictionary<int,MyStruct>> dic=new Dictionary<int,Dictionary<int,MyStruct>>();MyStruct = null 吧? 
      

  2.   

     dic.Add(i,subDic[i]);
    subDic[i]没有实例化
    for(int i=0;i<10;i++)
    {
        subDic[i]=new Dictionary<int,MySruct>();
        dic.Add(i,subDic[i]);
    }
      

  3.   

    貌似就是这个,问一下,
    上面的Dictionary<int,MySruct>[] subDic=new Dictionary<int,MyStruct>[10];
    为什么不算实例化呢?
      

  4.   

    跟string[]strs=new string[10]有区别吗?只是把strs实例化了,并没有把其元素实例化