C# 如何从注册表中获取注册表项的默认值

C# 如何从注册表中获取注册表项的默认值,c#,.net,registry,C#,.net,Registry,我正在尝试从HKEY_CLASSES_ROOT获取(默认)键值,我尝试的代码片段如下所示 using (var key = Registry.ClassesRoot.OpenSubKey(@"Excel.Application\\CurVer")) { var defvalue = key?.GetValue("(Default)"); if (defvalue != null) { } } defvalue始终为空。我查不出我犯了什么错误 任何人都可以帮我解决

我正在尝试从
HKEY_CLASSES_ROOT
获取
(默认)
键值,我尝试的代码片段如下所示

using (var key = Registry.ClassesRoot.OpenSubKey(@"Excel.Application\\CurVer"))
{
    var defvalue = key?.GetValue("(Default)");
    if (defvalue != null)
    {
    }
}
defvalue
始终为空。我查不出我犯了什么错误

任何人都可以帮我解决这个问题。

您需要使用emtpy字符串,而不是使用“(默认)”


您也可以尝试使用“String.Empty”来获取注册表的(默认)值,而不是在代码中访问(默认)。

Pass
null
而不是(默认)”@AleksAndreev,谢谢您使用了这个技巧。虽然这可能是解决问题的一个有价值的提示,但一个好的答案也说明了解决方法。请提供示例代码来说明您的意思。或者,考虑将此写入评论。
using (var key = Registry.ClassesRoot.OpenSubKey(@"Excel.Application\\CurVer"))
{
    var defvalue = key?.GetValue("");
    if (defvalue != null)
    {
    }
}