我第一次启动Visual C#(2010 Express),我为WindowsFormsApplication创建了一个新项目。还没有编写代码,但我创建了一个按钮并将其放在Form1上。然后,我双击按钮,然后转到代码的一部分,在那里你可以写下按下按钮时发生的事情。
我想要做的第一件事是从LARGE制表符分隔的文本文件(30MB)中读取数据。文本文件包含7个结构化的数据列,如名称,年龄,喜欢的颜色,动物等。文本格式中没有任何棘手或奇特的东西。我正在使用以下代码:
File.ReadLines(sourceFilePath)
.Select(line => line.Split('\t'))
.ToArray();
但我的基本问题是如何建立和定义File和sourceFilePath?使用上面的代码,我得到“名称'文件'在当前上下文中不存在。
答案 0 :(得分:5)
您需要将以下行添加到C#文件的顶部:
using System.IO;
这将允许使用System.IO名称空间中的File类。
至于定义sourceFilePath,这只是一个变量,您可以声明并设置为您需要的任何文件路径,例如。
string sourceFilePath = @"c:\data\file.csv";
注意在字符串文字之前使用@;这可以防止反斜杠被视为转义序列的开始。你可以改为逃避bakslashes,例如
string sourceFilePath = "c:\\data\\file.csv";
答案 1 :(得分:0)
File类驻留在System.IO命名空间中。您可以在应用程序中使用它:
using System.IO;
至于定义sourceFilePath的内容,您将需要将值硬编码到固定位置(这并不总是可取的),或者为用户设计一种机制来指定该路径,可能通过以下方式之一可用的各种CommonDialog。对CommonDialogs的一些研究应该有助于您进一步推动项目的开发。
答案 2 :(得分:0)
如果要按Tab键拆分,则可以尝试使用ReadAllText方法,然后使用Split方法,在其中定义分隔符(通过制表符):
string[] delimitedByTab = File.ReadAllText(@"file").Split('\t').ToArray();
并使用System.IO;文件类的名称空间