如何在C#中将二维数组序列化为文本文件?

时间:2015-06-01 09:47:30

标签: c#

我正在使用2D数组(大约500个)。 我需要以特定格式在文本文件中打印它们。

现在我只循环遍历每个2D数组的每个元素并写入文本文件。

有更好的方法吗?

这是我希望我的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 个答案:

答案 0 :(得分:1)

假设:

  1. 您正在编写数独,因此数组的给定网格值范围为1到9
  2. 您已经分析了您的应用程序,发现使用传统的字符串和编写器操作编写它们是一个性能问题
  3. 然后,您可以设置一个大约250个字节的数组,其中包含与您的表等效的ASCII,填充为零。这是你的缓冲区。然后,对于2D数组中的每个值,更新缓冲区中的相应字节。然后将缓冲区一次写入原始流而不是使用流编写器。这将节省任何编码开销,任何临时字符串创建的开销,处理多位整数的任何处理,以及与在流编写器上进行多次调用相关的任何事情。