实现功能的路径更改

时间:2010-01-27 10:21:08

标签: c# .net

我必须从注册表中获取版本值,路径为HKEY_LOCAL_MACHINE\SOFTWARE\Secon\Secon Monitor。在该路径中,我们可以看到一个文件 CurrentVersion ,其中包含值。

所以我做了这种类型的编码来获取值

有一个类文件 Simregistry.cs ,其中所有注册表路径都已注册。所以我在下面注册了一条路径

public const string SimRoot = @"Software\Secon\Secon Monitor";

然后我在不同的文件

上访问'SimRoot'
string keySpoPath = SpoRegistry.SimRoot;
RegistryKey regkey = Registry.LocalMachine.OpenSubKey(keySpoPath);
m_version = (string)regkey.GetValue(SpoRegistry.regValue_CurrentVersion);

但我需要以这种方式实现相同的功能。我需要以这种方式注册路径

public const string SimRoot = "Software\\Secon\\Secon Monitor\\"; 

而不是:

public const string SimRoot = @"Software\Secon\Secon Monitor";`

如何通过更改此代码来实现此目的

string keySpoPath = SpoRegistry.SimRoot;
RegistryKey regkey = Registry.LocalMachine.OpenSubKey(keySpoPath);
m_version = (string)regkey.GetValue(SpoRegistry.regValue_CurrentVersion);

我可以像这个SpoRegistry.SimRoot + @一样添加@,但是如何在软件之后删除这两个额外的斜杠(),在Secon之后删除一个

2 个答案:

答案 0 :(得分:0)

字符串之间的唯一区别:

public const string SimRoot = "Software\\Secon\\Secon Monitor\\"; 

public const string SimRoot = @"Software\Secon\Secon Monitor";

第一个是否有尾部斜杠(\)。

你可以简单地将它连接到你的常量:

string keySpoPath = SpoRegistry.SimRoot + "\\";

答案 1 :(得分:0)

无需再添加任何内容。两者都是相同的公共const字符串SimRoot =“Software \ Secon \ Secon Monitor \”;和公共const字符串SimRoot = @“Software \ Secon \ Secon Monitor”;  是相同的