这个方法会出现“未将对象引用设置到对象的实例”,问题出在哪里了呢?
刚开始学习C#,请大家指教!谢谢
 RegistryKey keycom = Registry.LocalMachine.OpenSubKey("Hardware\\DevinceMap\\SerialComm");
            try
            {
               
                string[] subkeys = keycom.GetValueNames();//????
                
                string[] str_key = new string[subkeys.Length];
                for (int i = 0; i < subkeys.Length; i++)
                {
                   this.comboBox1.Items.Add(str_key[i]);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
对象C#

解决方案 »

  1.   

    设置断点,单步调试,就知道问题出在哪了?keycom这个对象为Null么?
      

  2.   


                RegistryKey keycom = Registry.LocalMachine.OpenSubKey("Hardware\\DevinceMap\\SerialComm");
                try
                {
                    int leng = keycom.GetValueNames().;
                    string[] subkeys = new string[leng + 1];
                    subkeys=keycom.GetValueNames();
                    
                    string[] str_key = new string[subkeys.Length];
                    for (int i = 0; i < subkeys.Length; i++)
                    {
                       this.comboBox1.Items.Add(str_key[i]);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return;
                }
      

  3.   

       RegistryKey keycom = Registry.LocalMachine.OpenSubKey("Hardware\\DevinceMap\\SerialComm");
    =-------------
     注册表没有这个路劲
       string[] subkeys = keycom.GetValueNames();//????
    ---------------
        这里获取的时候 subkeys.length为零。
      

  4.   

    http://www.docin.com/p-103654353.html
    路径写错啦,应为RegistryKey keycom = Registry.LocalMachine.OpenSubKey("Hardware\\DeviceMap\\SerialComm");但返回为空,我这是为了读取计算机的串口。。
    http://www.docin.com/p-103654353.html