C# の文字列のヒアドキュメント表記はありますか?
質問する
16673 次
3 に答える
57
他の人が言っているように、ありません。
個人的には、そもそもそれらを作成することは避けますが、代わりに埋め込みリソースを使用します。これらは非常に簡単に操作でき、呼び出し元のアセンブリから名前付きの埋め込みリソースを文字列としてロードするユーティリティメソッドがある場合(おそらくUTF-8エンコーディングを想定)、次のことを意味します。
- 埋め込まれたドキュメントがSQL、XSLT、HTMLなどの場合、実際にはSQL(etc)ファイルになるため、構文が強調表示されます。
- 逃げる心配はありません
- ドキュメントをインデントしたり、C#コードを醜く見せたりすることを心配する必要はありません。
- 関連する場合は、「通常の」方法でファイルを使用できます(たとえば、HTMLページとして表示します)。
- データはコードから分離されています
于 2010-08-21T19:05:20.223 に答える
45
HEREDOC をサポートしていませんが、Verbatim 文字列を使用して次のようなことを行うことができます。
string miniTemplate = @"
Hello ""{0}"",
Your friend {1} sent you this message:
{2}
That's all!";
string populatedTemplate = String.Format(miniTemplate, "Fred", "Jack", "HelloWorld!");
System.Console.WriteLine(populatedTemplate);
引っ掛かり: http://blog.luckyus.net/2009/02/03/heredoc-in-c-sharp/
于 2011-09-16T14:14:57.843 に答える
13
いいえ、C# には "HEREDOC" スタイルの文字列リテラルはありません。
C# には、次の 2 種類の文字列リテラルしかありません。
- 多くのエスケープ シーケンスが必要な通常のリテラル
- 逐語的リテラル、
@
引用符付き: 二重引用符は、二重化してエスケープする必要があります
参考文献
- csharpindepth.com - 一般記事 - 文字列
- MSDN - C# プログラマーズ リファレンス - 文字列
文字列リテラルは型であり、 quotedと-quoted
string
の 2 つの形式で記述できます。@
于 2010-08-21T18:52:57.927 に答える