我想定义一个Hashtable数组,以后使用的时候直接就是使用
myht[0].Add("mykey","myvalue");就可以了。
我是这么写的,
Hashtable []myht=new Hashtable[10];
myht[0].Add("mykey","myvalue");结果出现了错误:未处理的“System.NullReferenceException”类型的异常出现在 WindowsApplication1.exe 中。
其他信息: 未将对象引用设置到对象的实例。请问这到底是怎么回事,应该怎么办呢?谢谢回答

解决方案 »

  1.   

    Hashtable myht=new Hashtable();
    myht.Add("mykey","myvalue");
      

  2.   

    Hashtable [] myht = new Hashtable[10];
    foreach(Hashtable ht in myht)
    ht = new Hashtable();// Hashtable是引用类型,新建数组后,数组内都是空引用
      

  3.   

    Hashtable []myht=new Hashtable[10];   //初始化了Hashtable数组,
                                            但是数组中的Hashtable还未初始化myht[0] = new Hashtable();     
    myht[0].Add("mykey","myvalue");
      

  4.   

    Hashtable [] myht = new Hashtable[10];
    foreach(Hashtable ht in myht)
    {
    ht = new Hashtable();
    ht.Add("mykey","myvalue");
    }
    为啥提示ht是只读的?
      

  5.   

    哦,好象听说foreach做循环时,变量是只读的。
    谢谢各位了。结贴了
      

  6.   

    foreach 语句是对枚举数的包装,它只允许从集合中读取,不允许写入集合。
      

  7.   

    sorry :-)
    疏忽了,未测试的代码