不要重新发明轮子。利用.NET BCL中已有的功能。
- 添加对的引用
Microsoft.VisualBasic
(是的,它说是VisualBasic,但它也可以在C#中工作-请记住,最后都只是IL) - 使用
Microsoft.VisualBasic.FileIO.TextFieldParser
该类来解析CSV文件
这是示例代码:
using (TextFieldParser parser = new TextFieldParser(@"c:temptest.csv")){ parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); while (!parser.EndOfData) { //Processing row string[] fields = parser.ReadFields(); foreach (string field in fields) { //TODO: Process field } }}在我的C#项目中,它对我来说很棒。
以下是一些其他链接/信息:
- MSDN:从Visual Basic中的逗号分隔文本文件中读取
- MSDN:TextFieldParser类



