[英]new line in a multi-line string
試圖覆蓋我的一個類中的tostring。
return string.Format(@" name = {0}
ID = {1}
sec nr = {2}
acc nr = {3}", string, int, int ,int); // types
但問題是,打印出來時結果不對齊:
name = test
ID = 42
sec nr = 11
acc nr = 55
試圖添加\\ n只是打印出來而不需要格式化。 猜測它與@“”有關,我正在使用它來進行多線程。
想要打印出來:
name = test
ID = 42
sec nr = 11
acc nr = 55
如果在前面添加空格,則會以這種方式打印。
我通常這樣做。
return string.Format(
@" name = {0}
ID = {1}
sec nr = {2}
acc nr = {3}", string, int, int ,int); // types
更新:也許是一個更漂亮的選擇:
string[] lines =
{
" name = {0}",
" ID = {1}",
" sec nr = {2}",
" acc nr = {3}"
};
return string.Format(
string.Join(Environment.Newline, lines),
arg0, arg1, arg2, arg3);
字符串前面的@關閉標准C#字符串格式,試試
return string.Format(" name = {0}\n ID = {1} \n sec nr = {2} \n acc nr = {3}",
string, int, int ,int); // types
你不能使用@ 並使用\\ n,\\ t等。
編輯
這是 - 恕我直言 - 盡可能好
return string.Format("name = {0}\n" +
"ID = {1}\n" +
"sec nr = {2}\n" +
"acc nr = {3}",
string, int, int ,int);
msdn的解決方案:
// Sample for the Environment.NewLine property
using System;
class Sample
{
public static void Main()
{
Console.WriteLine();
Console.WriteLine("NewLine: {0} first line{0} second line{0} third line",
Environment.NewLine);
}
}
/*
This example produces the following results:
NewLine:
first line
second line
third line
*/
String.Join(Environment.NewLine, value.Select(i => i)
其中values是字符串的集合
不,這是你在那里的所有空間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.