2015-06-01 21 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个字节的数组,并由零填充。这是你的缓冲区。然后,对于二维数组数组中的每个值,更新缓冲区中的相应字节。然后将缓冲区一次写入一个原始流而不是使用流写入器。这将节省任何编码开销,以及任何临时字符串创建的开销,处理多位整数的任何处理以及与在流编写器上进行多次调用相关的任何操作。

相关问题