試圖理解!WriteLine與多個值的多行
string myValue1 = "1";
string myValue2 = "2";
Console.WriteLine(myValue1, myValue2);
這隻打印出第一個值,如果使用+它將它們連接在一起。有沒有辦法讓兩個值分別打印在不同的行上。 我可以使用兩個WriteLines(每個值爲一個),但我試圖更有效率(或愚蠢)!
試圖理解!WriteLine與多個值的多行
string myValue1 = "1";
string myValue2 = "2";
Console.WriteLine(myValue1, myValue2);
這隻打印出第一個值,如果使用+它將它們連接在一起。有沒有辦法讓兩個值分別打印在不同的行上。 我可以使用兩個WriteLines(每個值爲一個),但我試圖更有效率(或愚蠢)!
使用Environment.NewLine
在不同的行上打印值。使用帶有字符串格式和值的Console.WriteLine Method (String, Object[])
overload。
Console.WriteLine("{0}{1}{2}", myValue1, Environment.NewLine, myValue2);
如果這是一個單獨的語句,比我真的懷疑它是否能夠給你任何的性能增益。
的concat一個Environment.NewLine //
您正在使用的格式過載http://msdn.microsoft.com/en-us/library/828t9b9h(v=vs.110).aspx
這一個支持佔位符{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'? – Habib
兩個writelines很好。其他解決方案只是一種微型優化,在現實世界中不會給出任何明顯的結果。 –
他們只是字符串,我想看看我是通過使用兩個writelines在寫軌道,還是有一種方法使用一個writeline爲兩個值做同樣的事情? – Pkzipper