所有(这是回归基础!),我从SQL Server中获取了一串信息.字符串是这样的
Hello, my name is Frank Butcher\n\n
and I work at Watford Car lot,
and I am 65 years old.
Run Code Online (Sandbox Code Playgroud)
该消息将被拉入消息框以提供有关进程的信息.我用它读了字符串
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandTimeout = 0;
cmd.CommandText = strSQL;
strResult = cmd.ExecuteScalar().ToString();
Run Code Online (Sandbox Code Playgroud)
这会得到字符串,但当我把它放到我的文本框中时,显示的消息\n\n没有所需的双NewLine.
我试过用
strResult = strResult.Replace("\n", Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)
在字符串上,但这没有帮助.我精神错乱,我做错了什么?
谢谢你的时间.
我假设你已经存储了一个字面反斜杠,然后在数据库中的字符串中存储了字符"n",而不是换行符.因此,你必须做String.Replace你正在做的事情.
你是如此接近,但你需要逃避反斜杠:
strResult = strResult.Replace("\\n", Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)
在没有转义反斜杠的情况下,编译器将其解释\n为换行符的特殊转义序列,因此您的行变为等同于"将NewLine替换为NewLine"(您已经发现它什么都不做).
或者,您可以使用@符号为字符串常量添加前缀,这意味着将其视为文字:
strResult = strResult.Replace(@"\n", Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6115 次 |
| 最近记录: |