循环遍历c#中TextFieldParser中的字段

时间:2014-07-01 13:57:04

标签: c#-4.0

我正在使用TextFielParse来解析包含10列和100行的CSV文件。 我对每行的第一列和第三列感兴趣。 处理第3列后如何跳过并移动到下一行进行处理? 目前它正在通过所有10列

using (TextFieldParser parser = new TextFieldParser(@"c:\20140513_134709.csv"))
            {
                parser.TextFieldType = FieldType.Delimited;
                parser.SetDelimiters(",");

                parser.ReadLine();

                int regSeqNo = 0;
                bool isNumerical = false;
                string mailDate = string.Empty;
                while (!parser.EndOfData)
                {
                    //Processing row
                    string[] fields = parser.ReadFields();

                    foreach (string field in fields)
                    {


                         isNumerical = int.TryParse(fields[0].ToString(), out regSeqNo);
                         mailDate = fields[2].ToString();
                        continue;

                    }
                }
            }

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码获取所需的

            while (!parser.EndOfData)
            {
                //Processing row
                string[] fields = parser.ReadFields();


               isNumerical = int.TryParse(fields[0].ToString(), out regSeqNo);
               mailDate = fields[2].ToString();

            }

Inner loop is not required :)