我有一个System.Win32.RegistryKey对象,指向例如" HKCU \ Software \ Test"。 .Name属性使用绝对路径填充。有没有办法只获得当前(相对)密钥名称?
在上面的示例中,我正在寻找"测试"路径的一部分。我正在寻找与System.IO.Path.GetDirectoryName等效的注册表,而不必手动解析路径。
答案 0 :(得分:3)
您只需致电System.IO.Path.GetDirectoryName
。
Path.*
函数(GetFullPath()
除外)纯粹是字符串操作函数,即使使用非文件系统路径也能正常工作。
答案 1 :(得分:2)
您可以简单地使用System.IO.Path.GetDirectoryName(string)
,它可以正常使用注册表路径。
答案 2 :(得分:2)
问题要求相对值(仅测试)而不是绝对完整路径。 GetDirectoryName
方法返回绝对路径。
您要使用的方法是:
System.IO.Path.GetFileNameWithoutExtension(subkey.Name);
请参阅此link