title: Reading CSV files using C#
body: <p>I'm writing a simple import application and need to read a CSV file, show result in a <code>DataGrid</code> and show corrupted lines of the CSV file in another grid. For example, show the lines that are shorter than 5 values in another grid. I'm trying to do that like this:</p>
  
  <pre><code>StreamReader sr = new StreamReader(FilePath);
  importingData = new Account();
  string line;
  string[] row = new string [5];
  while ((line = sr.ReadLine()) != null)
  {
      row = line.Split(',');
  
      importingData.Add(new Transaction
      {
          Date = DateTime.Parse(row[0]),
          Reference = row[1],
          Description = row[2],
          Amount = decimal.Parse(row[3]),
          Category = (Category)Enum.Parse(typeof(Category), row[4])
      });
  }
  </code></pre>
  
  <p>but it's very difficult to operate on arrays in this case. Is there a better way to split the values?</p>