尝试覆盖我的一个类中的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
答案 0 :(得分:14)
如果在前面添加空格,则会以这种方式打印。
我通常这样做。
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);
答案 1 :(得分:6)
字符串前的@关闭标准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);
答案 2 :(得分:4)
来自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
*/
答案 3 :(得分:1)
String.Join(Environment.NewLine, value.Select(i => i)
其中values是字符串集合
答案 4 :(得分:0)
不,这是你在那里的所有空间。