WriteLine在具有多个值的多行上

时间:2014-06-25 17:23:38

标签: c#

试图理解!!

string myValue1 = "1";
string myValue2 = "2";

Console.WriteLine(myValue1, myValue2);

这只打印出第一个值,如果一个使用+它将它们连接在一起。有没有办法让两个值打印在不同的行上。 我可以使用两个WriteLines(每个值一个)但我正在努力提高效率(或愚蠢)!

5 个答案:

答案 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