试图理解!!
string myValue1 = "1";
string myValue2 = "2";
Console.WriteLine(myValue1, myValue2);
这只打印出第一个值,如果一个使用+它将它们连接在一起。有没有办法让两个值打印在不同的行上。 我可以使用两个WriteLines(每个值一个)但我正在努力提高效率(或愚蠢)!
答案 0 :(得分:3)
使用Environment.NewLine
在不同的行上打印值。使用Console.WriteLine Method (String, Object[])
overload,它采用字符串格式和值。
Console.WriteLine("{0}{1}{2}", myValue1, Environment.NewLine, myValue2);
如果这是一个单一的声明,我真的怀疑它是否会给你带来任何性能提升。
答案 1 :(得分:3)
您使用的是格式重载http://msdn.microsoft.com/en-us/library/828t9b9h(v=vs.110).aspx
这个支持占位符{0},{1} ...第一个参数是格式,后面的参数放在占位符中。因为您的字符串没有任何占位符,所以缺少第二个值。对于你想做的事情,你最好只拨打两次WriteLine。
Console.WriteLine(myValue1);
Console.WriteLine(myValue2);
连接新行将使您的代码更难阅读。不要试图以这种方式效率。这是愚蠢的:))
答案 2 :(得分:2)
您也可以使用 verbatim string literal @
,它看起来像这样:
Console.WriteLine(@"{0}
{1}", myValue1, myValue2);
输出将在单独的行上。但是,在我看来,c# 写得并不好。
答案 3 :(得分:1)
concat an Environment.NewLine //
答案 4 :(得分:0)
如果效率高,则意味着减少代码,您可以这样做:
static void Main(string[] args)
{
WriteMultiLine(1,2, "hello", TimeSpan.FromMinutes(3));
Console.ReadLine();
}
public static void WriteMultiLine(params object[] values)
{
foreach (var value in values)
{
Console.WriteLine(value);
}
}
您可以在不同的行上打印任何内容。
输出结果为:
1
2
hello
00:03:00