C# 在具有多个值的多行上写入线
试着去理解C# 在具有多个值的多行上写入线,c#,C#,试着去理解 string myValue1 = "1"; string myValue2 = "2"; Console.WriteLine(myValue1, myValue2); 这只打印出第一个值,如果使用+将它们连接在一起。是否有办法将这两个值打印在单独的行上。 我可以使用两个writeline(每个值一个),但我正在努力提高效率(或愚蠢) 使用Environment.NewLine在不同的行上打印值。使用,它采用字符串格式和值 Console.WriteLine("{0}{1}{2}
string myValue1 = "1";
string myValue2 = "2";
Console.WriteLine(myValue1, myValue2);
这只打印出第一个值,如果使用+将它们连接在一起。是否有办法将这两个值打印在单独的行上。
我可以使用两个writeline(每个值一个),但我正在努力提高效率(或愚蠢) 使用
Environment.NewLine
在不同的行上打印值。使用,它采用字符串格式和值
Console.WriteLine("{0}{1}{2}", myValue1, Environment.NewLine, myValue2);
如果这是一个单一的声明,那么我真的怀疑它是否会给您带来任何性能增益 concat an Environment.NewLine/您正在使用格式重载 这个支持占位符{0},{1}。。。第一个参数是格式,后续参数放在占位符中。由于字符串没有任何占位符,因此缺少第二个值。如果你想做什么,最好给WriteLine打两次电话
Console.WriteLine(myValue1);
Console.WriteLine(myValue2);
连接新行将使代码更难阅读。不要试图以这种方式提高效率。这是愚蠢的:)如果您所说的高效是指编写更少的代码,那么您可以做到这一点:
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
您也可以使用,它将如下所示:
Console.WriteLine(@"{0}
{1}", myValue1, myValue2);
输出将在单独的行上。然而,在我看来,c#看起来写得不好。您的代码没有编译,以及如何将值传递到
控制台。WriteLine
?两个WriteLine就可以了。其他解决方案只是一种微观优化,在现实世界中不会产生任何明显的结果。它们只是字符串,我想看看我是否使用两条写线,或者是否有办法使用一条写线对两个值执行相同的操作?如何?如果你把它复制粘贴到每一个类中。否则,它是一行,就像用格式给出的示例一样,不同的是,用格式给出的一行更难写,也可能更难理解。当然,这个示例只有两个值,所以这可能有点过头了。不是说它是一个不好的辅助函数,只是说它不是全部都短。@MattJohnson好的,如果这是真正的用例,不是OP的简化,我同意,最好有两个顺序写线。但是,对于寻找相同问题的人来说,它可能还是有用的。在“效率”方面取得的任何进步都将被代码的可读性降低所抵消。编写更容易阅读的代码更“高效”。对于这个例子,这会在我的脑海中进行计算,而且很简单。谢谢。这让我的头脑更容易理解,我并没有这样想。