各行に 1 つの項目があるもののリストを含む文字列を作成したいのですが、次のコードでは新しい行が維持されません。
foreach (DateTime date in dates)
{
datelist += date.ToString("yyyy/MM/dd") + Environment.NewLine;
}
string mystring = String.Format(@"Hey there here is a list of dates
Dates:
{0}",
datelist);
出力:
ねえ、ここに日付のリストがあります
日付:
2012/03/04 2012/03/05 2012/03/06
望ましい出力:
ねえ、ここに日付のリストがあります
日付:
2012/03/04
2012/03/05
2012/03/06
2 つの Environment.NewLines、\r\n のようなエスケープ、@ で文字列を開始するなどのバリエーションを試しましたが、目的の出力が得られませんでした。
改行が必要な文字列に記号を挿入し、string.Replace を使用して記号を Environment.NewLine に変更することで、最終的に問題を解決できました。
foreach (DateTime date in dates)
{
datelist += date.ToString("yyyy/MM/dd") + "<br />";
}
string mystring = String.Format(@"Hey there here is a list of dates
Dates:
{0}",
datelist.Replace(Environment.NewLine, "<br />"));
私が言ったように、これは機能しますが、行を含む文字列を別の文字列に挿入するときに古き良き連結が機能しない理由と、私の質問に対する標準/一般的な解決策が何であるかを知りたいです。