3

我有一个带有路径的字符串。

它看起来像这样:

TaskManager = "RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System");"

我想使用这个字符串与 codedom 一起编译,但我收到一条错误消息“找不到 Software\Microsoft......”。

反正有没有用另一个字符替换“?

4

6 回答 6

2

在字符串中写入 " 使用 \"

String str= "my string with \"quotes\""; // my string with "quotes"

字符 \ 用于在字符串内写入特殊字符,例如 \t 在字符串内写入制表符和 \n 使字符串转到新行

或者

String str= @"my string with ""quotes"""; //same as before

字符串之前的字符 @ 使编译器按原样处理字符串,每个特殊字符都不需要在它之前使用 \ ,唯一需要转义的字符是通过将它们加倍来编写的引号本身“”

请注意,如果您在路径中使用带有 @ your \\ 的方法成为 \

于 2013-06-16T11:36:07.540 回答
2

我对路径使用逐字字符串文字,所以我不必加倍反斜杠:

TaskManager = @"RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(""Software\Microsoft\Windows\CurrentVersion\Policies\System"");"

"翻倍""

于 2013-06-16T11:52:13.937 回答
0

如果您试图逃避 qoute,请执行以下操作:

TaskManager = "RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(\"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\");"
于 2013-06-16T11:37:57.147 回答
0

你可以这样使用它

TaskManager = "RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey('Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System');"
于 2013-06-16T11:38:56.323 回答
0

采用 \”

得到一个双引号,就像你用 \ 得到一个反斜杠一样。

于 2013-06-16T11:39:30.427 回答
0
TaskManager = "RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(\"Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System\");"

那应该解决它。

于 2013-06-16T11:47:03.903 回答