我想创建一个包含的东西,每行一个项目列表的字符串,但是下面的代码不会维持新线:向另一个字符串添加多行字符串=丢失多行?
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
我尝试过变种,比如两个Environment.NewLines,像\ r \ n这样的转义,sta用@处理字符串,等等,我无法得到我想要的输出。
我最终能够通过把一个符号到,我想换行字符串来解决我的问题,然后用与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 />"));
就像我说的,这是有效的,但我想知道为什么在将字符串插入到另一个字符串中时,旧的并置不起作用,以及我的问题的标准/通用解决方案是什么。
您输出到HTML页面吗? – Neverever
'Environment.NewLine'是一个换行符。如果你输出到一个HTML页面(我可以在这个问题中看到你标记为asp.net),这显然不起作用,因为页面不知道如何处理换行符。但那是_is_为什么你的'
'工作。 –