从文件读取时重复行

时间:2012-12-07 21:51:40

标签: c# file file-io multidimensional-array

  

可能重复:
  printing 2d array in c# through for loop

这是我在txt文件中的数据:

1--2--3--    
3-4-4-5--    
-7-3-4---
7--5--3-6    
--7---4--    
3-2--4-5-    
------3--    
2-6--7---    
4---4--3-

之间没有任何空行!上面有这个格式化问题!

是我的c#代码,用于显示文件:

public void populate_grid_by_file()
        {
            int counter = 0;
            string line;

            // Read the file and display it line by line.
            System.IO.StreamReader file =
               new System.IO.StreamReader("data.txt");
            for (int i = 0; i < Sodoku_Gri.GetLength(0); i++)
            {
                while ((line = file.ReadLine()) != null)
                {
                    for (int j = 0; j < Sodoku_Gri.GetLength(1); j++)
                    {
                        Sodoku_Gri[i,j] = line[j];
                        Console.Write(line[j].ToString());

                    }
                    Console.WriteLine(line);
                    counter++;
                }
            }
            file.Close();
            // Suspend the screen.
            Console.ReadLine();
        }   

但是当我用上面的文件显示我的数组时,它就像:

1--2--3--1--2--3--    
3-4-4-5--3-4-4-5--    
-7-3-4----7-3-4---    
7--5--3-67--5--3-6    
--7---4----7---4--    
3-2--4-5-3-2--4-5-    
------3--------3--    
2-6--7---2-6--7---    
4---4--3-4---4--3-
cnt理解为什么重复!帮助!

当我调试时,我发现线路中存在问题:

Console.Write(line[j].ToString());

这意味着这里没有自动元素加载到数组中:

Sodoku_Gri[i,j] = line[j];

请帮助我!

1 个答案:

答案 0 :(得分:3)

在这里逐字符显示一行:

    Console.Write(line[j].ToString());

然后在这里全部一行:

     Console.WriteLine(line);