title: Reading CSV Files using Fast CsvReader without quotes around fields
body: <p>I'm having some issues using <a href="http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader" rel="nofollow">Lumenworks Fast CsvReader</a>. Using the code:</p>
  
  <pre><code>using (CsvReader csv = new CsvReader(new StreamReader(Server.MapPath(fileName)), true))
  {
       csv.ParseError += csv_ParseError;
  
       while (csv.ReadNextRecord())
       {
            var importItem = new ProductImportItem(csv);
            if (!ProductsDALC.SearchByPartProductCode(importItem.ProductCode).Any())
            {
                if (!SaveProduct(importItem))
                {
                    this.ParseErrors.Add(string.Format("Failed to add product-{0}", importItem.ProductCode));
                }
            }
       }
  }
  </code></pre>
  
  <p>The code works fine when the CSV file is formatted using double quotes either side of the fields/column values e.g:</p>
  
  <blockquote>
    <p>"product_code", "product_name", "item_description", "sku", "postage_level_required", "cost_price", "retail_price_inc_vat"</p>
  </blockquote>
  
  <p>However, if the columns look like this:</p>
  
  <blockquote>
    <p>product_code,product_name,item_description,sku,postage_level_required,cost_price,retail_price_inc_vat</p>
  </blockquote>
  
  <p>Then the code behaves as if there is no data, that is to say, it won't enter into the <code>while</code> loop and enumerating the result set in the debugger will show that it yields no results.</p>
  
  <p>This would be fine if I had absolute control over the data in/out. However, all I can do is provide the user with a template which contains the fields and hope that they wrap the data in quotes. This isn't an acceptable approach.</p>
  
  <p>Is there a way to get the reader to parse data even if it isn't wrapped in quotes?</p>
  
  <p>I'm aware of the <a href="http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.fileio.textfieldparser%28v=vs.110%29.aspx" rel="nofollow">TextFieldParser</a> class built into .Net which handles this fine but since we're using <code>CsvReader</code> elsewhere in the projec it would be good to remain consistent.</p>