0
,当我使用此代码从注册表中读取值:C#,坏字符读取注册表值
appManufacturer = (string)subKey.GetValue("Publisher");
当我在调试过程中查看字符串的值是“Microsoft \ 0”。为什么? “\ 0”来自哪里?我在这里做错了什么?
,当我使用此代码从注册表中读取值:C#,坏字符读取注册表值
appManufacturer = (string)subKey.GetValue("Publisher");
当我在调试过程中查看字符串的值是“Microsoft \ 0”。为什么? “\ 0”来自哪里?我在这里做错了什么?
以下代码将允许您获取注册表值。
string keyname = "SAVCE";
Console.WriteLine(Read(keyname));
public static string Read(string KeyName)
{
using (RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(@"Software\Symantec\InstalledApps"))
{
return (string)registryKey.GetValue(KeyName);
}
}
尽管这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 – Marusyk
它一直存在... [相关阅读:什么是\ 0符号在C字符串是什么意思?(http://stackoverflow.com/q/4711449/1324033) – Sayse
@Sayse虽然解释它是什么,它不能解释为什么它在那里。如果注册管理机构存储空字符,则可以期望.NET库自动处理该字符。这就是说,我已经通过.NET访问过注册表项,并且从来没有遇到过null-char,所以对这个入口看起来有点可疑。 – Rob
@Rob - 我更想解释它是什么,而不是提供解决方案 – Sayse