印刷在C#
回答
你可以試試這個:
foreach(var item in yourArray)
{
Console.WriteLine(item.ToString());
}
你也可以嘗試這樣的事:
yourArray.ToList().ForEach(i => Console.WriteLine(i.ToString()));
編輯:或在意見建議:
yourArray.ToList().ForEach(Console.WriteLine);
編輯:得到outp在一行[根據您的意見]:
Console.WriteLine("[{0}]", string.Join(", ", yourArray));
//output style: [8, 1, 8, 8, 4, 8, 6, 8, 8, 8]
在C#中,您可以遍歷數組來打印每個元素。請注意,System.Object定義了一個方法ToString()。從System.Object()派生的任何給定類型都可以覆蓋該類型。
返回表示當前對象的字符串。
http://msdn.microsoft.com/en-us/library/system.object.tostring.aspx
默認情況下,對象的完整類型名稱將被打印出來,儘管許多內置類型將覆蓋默認打印更有意義的結果。您可以在自己的對象中重寫ToString()以提供有意義的輸出。
foreach (var item in myArray)
{
Console.WriteLine(item.ToString()); // Assumes a console application
}
如果你有你自己的Foo類,你可以重寫的ToString(),如:
public class Foo
{
public override string ToString()
{
return "This is a formatted specific for the class Foo.";
}
}
有很多方法可以做到這一點,其他的答案都好,這裏是一個另類:
Console.WriteLine(string.Join("\n", myArrayOfObjects));
如果你想變得可愛,你可以寫一個擴展方法,寫一個IEnumerable<object>
序列到控制檯。這將與任何類型的可枚舉工作,因爲IEnumerable<T>
是對T協變:(我不認爲你會使用這個除了在測試代碼)
using System;
using System.Collections.Generic;
namespace Demo
{
internal static class Program
{
private static void Main(string[] args)
{
string[] array = new []{"One", "Two", "Three", "Four"};
array.Print();
Console.WriteLine();
object[] objArray = new object[] {"One", 2, 3.3, TimeSpan.FromDays(4), '5', 6.6f, 7.7m};
objArray.Print();
}
}
public static class MyEnumerableExt
{
public static void Print(this IEnumerable<object> @this)
{
foreach (var obj in @this)
Console.WriteLine(obj);
}
}
}
花了我一段時間才完全理解,但這非常方便,我習慣了Python並將打印語句放在幫助調試中,所以這對我很有用。謝謝 – 2013-04-28 19:27:45
最簡單的一個:
Console.WriteLine("Array : ");
Console.WriteLine("[{0}]", string.Join(", ", <yourarray>));
我upvoted由馬修·沃森擴展方法的答案,但如果你要遷移/在Python參觀來了,你可能會發現有用這種方法:
class Utils
{
static void dump<T>(IEnumerable<T> list, string glue="\n")
{
Console.WriteLine(string.Join(glue, list.Select(x => x.ToString())));
}
}
- >這將使用提供的分隔符打印任何集合。它非常有限(嵌套集合?)。
對於腳本(即只包含Program的C#控制檯應用程序。CS,而大多數事情發生在Program.Main
) - 這可能會很好。
這是您可以使用數組打印字符串的最簡單方法!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace arraypracticeforstring
{
class Program
{
static void Main(string[] args)
{
string[] arr = new string[3] { "Snehal", "Janki", "Thakkar" };
foreach (string item in arr)
{
Console.WriteLine(item.ToString());
}
Console.ReadLine();
}
}
}
- 1. 印刷用C
- 2. 印刷全部採用C++
- 3. 特里印刷用C
- 4. 位集合印刷用C
- 5. 印刷風格用C
- 6. 印刷在pyqt5
- 7. 印刷在Silverlight2
- 8. 印刷SVG-PictureFiles在C#中PrintDocument的GDI +
- 9. 印刷值在Excel
- 10. 印刷在Silverlight 4
- 11. 印刷
- 12. 印刷印刷可變紅寶石
- 13. C:印刷全行多維數組
- 14. 印刷值從函數(C++)返回
- 15. 等距印刷
- 16. JQPlot印刷
- 17. 印刷路徑
- 18. 印刷元件
- 19. 印刷線
- 20. 反向印刷
- 21. 印刷用java
- 22. 印刷用FASM
- 23. 印刷coeficients
- 24. 盲文印刷
- 25. 印刷櫃檯
- 26. 印刷視
- 27. HTML印刷
- 28. 印刷字
- 29. 印刷圖例
- 30. 印刷類
請注意.ToString不是必需的,因爲WriteLine具有各種重載,包括使用對象的回退函數。 – 2013-04-28 17:02:32
我使用了alg.Id.ToList()。ForEach(Console.WriteLine),這很好,謝謝你。是否可以實際打印出來:[8,1,8,8,4,8,6,8,8,8] – 2013-04-28 17:09:40
@ErenErsönmez是的。你是對的。但是如果該項目是具有自己的「ToString」機制的自定義類,該怎麼辦? – 2013-04-28 17:09:57