31

プロセスとして実行したい次の文字列があります。

Rundll32 Printui.dll,PrintUIEntry /ia /K /q /m "SHARP MX-5500N PS" /h "Windows NT x86" /v 3 /f sn0hwenu.inf

ただし、引用符が存在するため、この文字列を C# に挿入してコンパイルし、元の構造をすべて維持することはできません。これを修正するにはどうすればよいですか? 文字列内に引用符があるため、少し注意が必要です。

4

6 に答える 6

39
string whatever = "Rundll32 Printui.dll,PrintUIEntry /ia /K /q /m \"SHARP MX-5500N PS\" /h \"Windows NT x86\" /v 3 /f sn0hwenu.inf";

また

string whatever = @"Rundll32 Printui.dll,PrintUIEntry /ia /K /q /m ""SHARP MX-5500N PS"" /h ""Windows NT x86"" /v 3 /f sn0hwenu.inf";
于 2011-04-04T15:29:35.233 に答える
18

@ を文字列定義の前に置き、2 つ置くことができます":

string myString = @"Rundll32 Printui.dll,PrintUIEntry /ia /K /q /m ""SHARP MX-5500N PS"" /h ""Windows NT x86"" /v 3 /f sn0hwenu.inf"

この記事で、文字列内の文字のエスケープについて詳しく読むことができます。

http://www.yoda.arachsys.com/csharp/strings.html

于 2011-04-04T15:29:08.530 に答える
5

を使用して引用符をエスケープする必要があります\。言う文字列を持つには:Hello "World"あなたは書くべきです"Hello\"World\""

于 2011-04-04T15:29:04.323 に答える
4
string s = "Rundll32 Printui.dll,PrintUIEntry /ia /K /q /m \"SHARP MX-5500N PS\" /h \"Windows NT x86\" /v 3 /f sn0hwenu.inf";
于 2011-04-04T15:28:30.987 に答える
0

\必要に応じて、引用符の前にバックスラッシュを挿入してください:

string yourString = "This is where you put \"your\" string";

文字列には次が含まれます。This is where you put "your" string

于 2021-04-14T19:37:04.650 に答える