Mil*_*lan 8 c# string multiline
试图覆盖我的一个类中的tostring.
return string.Format(@" name = {0}
ID = {1}
sec nr = {2}
acc nr = {3}", string, int, int ,int); // types
Run Code Online (Sandbox Code Playgroud)
但问题是,打印出来时结果不对齐:
name = test
ID = 42
sec nr = 11
acc nr = 55
Run Code Online (Sandbox Code Playgroud)
试图添加\n只是打印出来而不需要格式化.猜测它与@""有关,我正在使用它来进行多线程.
想要打印出来:
name = test
ID = 42
sec nr = 11
acc nr = 55
Run Code Online (Sandbox Code Playgroud)
lep*_*pie 14
如果在前面添加空格,则会以这种方式打印.
我通常这样做.
return string.Format(
@" name = {0}
ID = {1}
sec nr = {2}
acc nr = {3}", string, int, int ,int); // types
Run Code Online (Sandbox Code Playgroud)
更新:也许是一个更漂亮的选择:
string[] lines =
{
" name = {0}",
" ID = {1}",
" sec nr = {2}",
" acc nr = {3}"
};
return string.Format(
string.Join(Environment.Newline, lines),
arg0, arg1, arg2, arg3);
Run Code Online (Sandbox Code Playgroud)
字符串前面的@关闭标准C#字符串格式,试试
return string.Format(" name = {0}\n ID = {1} \n sec nr = {2} \n acc nr = {3}",
string, int, int ,int); // types
Run Code Online (Sandbox Code Playgroud)
你不能使用@ 并使用\n,\ t等.
编辑
这是 - 恕我直言 - 尽可能好
return string.Format("name = {0}\n" +
"ID = {1}\n" +
"sec nr = {2}\n" +
"acc nr = {3}",
string, int, int ,int);
Run Code Online (Sandbox Code Playgroud)