私はユニットテストを書いており、フォーマットされたテキストの大きなブロックで文字列を初期化するための構文を覚えていません。.NETでテキストブロックを含む文字列を初期化する構文は何ですか?
string _testData = "a couple screens worth of text data here
and I need to preserve the formatting
such as line breaks,
etc.";
私はユニットテストを書いており、フォーマットされたテキストの大きなブロックで文字列を初期化するための構文を覚えていません。.NETでテキストブロックを含む文字列を初期化する構文は何ですか?
string _testData = "a couple screens worth of text data here
and I need to preserve the formatting
such as line breaks,
etc.";
リテラルの前に@
を追加します。
string _testData = @"a couple screens worth of text data here
and I need to preserve the formatting
such as line breaks,
etc.";
文字列型を示すために@リテラルを使用します。 MSDNから
string _testData = @"a couple screens worth of text data here
and I need to preserve the formatting
such as line breaks,
etc.";
は:「逐語的文字列リテラルは@で開始し、また、二重引用符で囲まれているそのままの文字列の利点は、エスケープシーケンスは、例えば、書き込みが容易になりた、処理されていないことです。 @で囲まれた文字列に二重引用符を入れるには、二重引用符で囲みます。 "他の人が言ったように
、それはこれが逐語的文字列リテラルと呼ばれる
string _testData = @"a couple screens worth of text data here
and I need to preserve the formatting
such as line breaks,
etc.";
です。もう1つの効果は、バックスラッシュが何もエスケープするのに使用されなくなり、正規表現やWindowsファイルパスに便利です。
二重引用符で二重引用符を実現しています。文字列中のx"y
取得するために例えば:
string verbatim = @"x""y";
string regular = "x\"y";
代わりの静的な、フォーマットされたテキストを使用してコードを乱雑に、おそらくあなたは、メモリ内のファイル、アプリケーションから読み取るリソースとストアを作成する必要があります。このように、コードを変更したり別の方法でフォーマットしたりする必要がある場合は、コードに触れたり混乱させたりすることなく変更を加えることができます。
私はウェイン・ハートマンに同意する - 単なるテキストファイルとして大規模なテキストを格納し、テスト用の文字列にそれを読んで、例えば:
string testData = File.ReadAllText(fileToRead);
//Unit test using the testData
中になるだろう、ここで任意のロジックが本当にありませんあなたのテストの残りの方法。単体テストは引き続き機能に重点を置いています。テキストファイルを使用して大きな文字列を保存するだけです。
...リテラル文字列内で "を二重にすることを忘れないでください –