Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Can和#xB4;无法从注册表获取值_C#_Registry_Nullreferenceexception - Fatal编程技术网

C#Can和#xB4;无法从注册表获取值

C#Can和#xB4;无法从注册表获取值,c#,registry,nullreferenceexception,C#,Registry,Nullreferenceexception,我试图通过C获取R安装路径,但不幸的是,Registry.LocalMachine.OpenSubKey(keyName)方法返回null 这是我的代码: var keyName = @"SOFTWARE\R-core\R"; using (var key = Registry.LocalMachine.OpenSubKey(keyName)) { if (key != null) { var value = key.GetValue("InstallPath", 0)

我试图通过C获取R安装路径,但不幸的是,
Registry.LocalMachine.OpenSubKey(keyName)
方法返回null

这是我的代码:

var keyName = @"SOFTWARE\R-core\R";

using (var key = Registry.LocalMachine.OpenSubKey(keyName))
{
   if (key != null)
   {
      var value = key.GetValue("InstallPath", 0);
      Console.WriteLine(value);
   }
   else
   {
      Console.WriteLine("No key found!");
   }

}
我手动检查了密钥是否存在,它是否存在。

尝试使用

Registry.GetValue (String, String, Object)
之后,您应该将对象强制转换为您的类型。 更多信息可以在MSDN上找到

我已经试过了……下一步它将返回第三个参数(默认值)。您可以检查密钥的完整路径,以避免与“当前\u用户\本地\u机器”发生错误。您的意思是什么?我的完整路径是HKEY\u本地\u机器\软件\R-core\R。这是我在建议的方法中使用的路径。也许您可以尝试访问“HKEY\u本地\u机器\软件\R-core\R”而不是“HKEY\u当前\u用户\软件\R-core\R”