2016-04-04 6 views
0

私はそれを行う別の方法を知っているので、この質問は純粋に好奇心の外です。 私は、このような制御文字をエスケープすることにより、「通常の」文字列に制御文字を置くことができることを知っている:制御文字を@で囲んだ文字列に入れることはできますか?

string myString = "abcd\nef\"gh"; 

しかし、私は引用符で囲まれた文字列の書式 @逐語的なC#のを考えています。私は倍音で引用符を付けることができますが、制御文字はどうですか?

これは動作しません:

string myString ="abcd\\nef\"gh"; 

がコントロールを含めるが、別の方法である:

string myString = @"abcd\nef""gh"; 

それは制御文字があるべきと効果的と同じになります2文字を生成します@の引用符で囲まれた文字列をそのまま使用しますか?

+0

なぜそれが必要ですか? – Eser

答えて

0

[OK]を、私は単純に、このように、インデントや改行に配置することにより、タブや改行を含んで実際にできることを見出しましたib文字列。 おそらくタブと改行だけが必要な制御文字です。

+2

はい、「区切り記号間の文字は、MSの説明書に記載されているように、そのまま解釈されます。 – adv12

2

According to Microsoft:リテラル文字列逐語的に

、逐語的に解釈される 区切り文字の間の文字、唯一の例外は 引用エスケープシーケンスであること。

だから、制御文字をそのまま引用符で囲んだ文字列に括弧で囲む以外の方法はありません。

string myString = @"abcd 
 
ef""gh";

改行が含まれています:

関連する問題