3

パスを含む文字列があります。

次のようになります。

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

この文字列を使用して codedom でコンパイルしたいのですが、「Software\Microsoft が見つかりません......」というエラーが表示されます。

" を別の文字に置き換える方法はありますか?

4

6 に答える 6

2

パスには逐語的な文字列リテラルを使用するため、バックスラッシュを 2 つにする必要はありません。

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

"倍増""

于 2013-06-16T11:52:13.937 に答える
2

文字列の中に " を書くには \" を使用します

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

文字 \ は、文字列内に特殊文字を書き込むために使用されます。

また

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

文字列の前の文字 @ により、コンパイラは文字列をそのまま受け取ります。すべての特殊文字は、その前に \ を使用する必要なく記述されます。エスケープする必要がある唯一の文字は、それらを 2 倍にして記述する引用符自体です ""

@ を使用してメソッドを使用する場合は、パス内の \ \ が \ になることに注意してください

于 2013-06-16T11:36:07.540 に答える
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 に答える