簡體   English   中英

在csv中讀取時,出現System.FormatException錯誤,但不確定原因

[英]Reading in a csv, getting System.FormatException error, but not sure why

我是C#的新手,我編寫了一個小測試應用程序,以了解我是否了解如何讀取csv文件。

我創建了一個類來處理收到的數據,但是我的代碼無法編譯An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

代碼如下:

static void Main(string[] args)
        {
            var fileName = @"C:\Sample.csv";
            var file = new FileInfo(fileName);
            if (file.Exists)
            {
                List<Company> comp = new List<Company>();
                using (var reader = new StreamReader(File.OpenRead(fileName)))
                {
                    while (!reader.EndOfStream)
                    {
                        var line = reader.ReadLine();
                        var values = line.Split(',');


                        var companyobj = new Company()
                        {
                            Id = Convert.ToInt32(values[0]),
                            CompanyCode = values[1]
                        };
                        comp.Add(companyobj);

                        foreach (Company c in comp)
                        {
                            Console.WriteLine(c.Id + " "+c.CompanyCode);
                        }

                    }
                }

            }
        }

這很可能在以下行中發生:

Id = Convert.ToInt32(values[0]),

由於values[0]可能不是有效的int。 可能的原因可能是

  1. 該值是一個包含非數字字符的字符串
  2. 您正在讀取一行(很可能是最后一行),該行為空白, .split返回一個空字符串,並且在嘗試轉換時失敗。

我會說#2是您更可能的罪魁禍首。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM