2015-06-01 22 views
-3

我正在使用二維數組(其中約500人)。 我需要以特定的格式將它們打印在文本文件中。如何將2d數組序列化爲C#中的文本文件?

現在我只是循環遍歷每個二維數組的每個元素並寫入文本文件。

有沒有更好的方法來做到這一點?

這是我想我的2D陣列將要打印的格式:

8 5 1 |6 6 2 |4 5 1 
7 2 3 |5 3 6 |6 2 9 
5 6 4 |3 6 4 |6 7 4 
------+------+------ 
1 2 4 |1 8 7 |4 8 2 
3 8 5 |3 2 8 |9 1 7 
8 4 6 |3 2 8 |4 5 5 
------+------+------ 
3 5 7 |4 8 8 |5 7 5 
2 1 7 |8 7 8 |4 5 3 
3 4 5 |7 3 6 |9 4 3 
+1

不會有更好的辦法。 –

+2

你是什麼意思更好的方法?你想要達到什麼目前的解決方案無法實現? – JacquesB

+0

文件必須是人類可讀的,或者它可以是二進制文件(節省內存)?數組大小和/或值是否有限制? – pid

回答

1

假設:

  1. 你正在寫數獨所以陣列具有值的範圍爲1給定的格到9
  2. 您已經對您的應用程序進行了簡介,發現使用傳統的字符串和寫入器操作編寫它們是一個性能問題

然後,您可以設置一個包含您的表的ASCII等效字符的大約250個字節的數組,並由零填充。這是你的緩衝區。然後,對於二維數組數組中的每個值,更新緩衝區中的相應字節。然後將緩衝區一次寫入一個原始流而不是使用流寫入器。這將節省任何編碼開銷,以及任何臨時字符串創建的開銷,處理多位整數的任何處理以及與在流編寫器上進行多次調用相關的任何操作。

相關問題