C#编程:读取txt文件内容到二维数组

需积分: 44 64 下载量 166 浏览量 更新于2024-09-08 1 收藏 1KB TXT 举报
"这篇代码示例展示了如何使用C#从txt文本文件中读取数据,并将其存储在二维数组中。开发环境是Visual Studio。" 在C#编程中,经常需要处理从外部文件读取数据的任务,例如从txt文本文件中提取信息。这个例子中,程序通过点击按钮触发事件,然后执行一系列操作来读取txt文件的数据。 首先,`openFileDialog1.ShowDialog()`用于打开一个文件对话框,让用户选择要读取的txt文件。如果用户取消操作或选择了文件,`DialogResult.Cancel`将返回`true`,程序会退出。`FileName`变量用于存储选定文件的路径。 接下来,创建了一个`StreamReader`对象`readfile`,它从`FileName`指定的位置打开文件。`readfile.BaseStream.Seek(0,System.IO.SeekOrigin.Begin)`将文件指针移动到文件开头,以便从头开始读取。 `line_total`变量用于计算文件中的行数,`while(readfile.ReadLine()!=null)`循环遍历文件的每一行并增加`line_total`计数。这个计数器可以用于后续处理,例如显示文件总行数。 然后,将`line_total`的值赋给`textBox3.Text`,这样用户可以看到文件的行数。 为了存储数据,我们创建了一个`List<string[]>`类型的`list`。这个列表将用于保存每一行的数据,每行数据被分割成字符串数组。在循环中,`readfile.ReadLine().Split(' ')`将当前行按空格分割成多个子字符串,并存储在`line`数组中。接着,创建一个新的字符串数组`arr`,将`line`的每个元素转换为字符串(`Convert.ToString(line[i])`),并添加到`arr`中。最后,将`arr`添加到`list`中。 当所有行都处理完毕后,使用`list.ToArray()`将列表转换为二维字符串数组`shuzu`。这样,数据就被有效地保存在一个易于访问的结构中。例如,`textBox4.Text=shuzu[0][5]`这一行表示显示数组`shuzu`第一行的第六个元素(索引从0开始)。 需要注意的是,这里的代码没有进行错误处理,实际应用中可能需要添加异常处理机制,以确保在文件不存在或读取过程中出现错误时,程序能够正常运行。 总结,这段代码提供了C#从txt文件读取数据并存储在数组的基本方法,包括使用`StreamReader`读取文件、`List`动态存储数据以及将数据转换为数组等关键步骤。对于初学者来说,这是一个很好的起点,可以理解如何在C#中处理文本文件数据。