I'm going to explain how extract data from csv file using c#. First you have to declare two string variables and their properties for store directory 
and filename of csv file which you want to extract data.
        private string dirCSV;
       
private string 
fileNevCSV;
       
public string 
FileNevCSV
        {
           
get { return 
fileNevCSV; }
           
set { fileNevCSV = 
value; }
        }
       
public string 
dirCSV
        {
           
get { return 
dirCSV; }
           
set { dirCSV = value; 
}
        }
In the second step connect to the data source and fill it to the dataset.
        
       
public DataSet loadCVS(int 
noofrows)
        {
            DataSet ds =
new DataSet();
            
try
            {
                
// Creates and opens an ODBC connection
                string 
strConnString = "Driver={Microsoft Text Driver 
(*.txt; *.csv)};Dbq=" + this.dirCSV.Trim() 
+
";Extensions=asc,csv,tab,txt;Persist Security 
Info=False";
               
string sql_select;
                OdbcConnection 
conn;
                conn =
new OdbcConnection(strConnString.Trim());
                conn.Open();
 
                
//Creates the select command text
               
if (noofrows == -1)
                {
                    sql_select 
= "select * from [" +
this.FileNevCSV.Trim() +
"]";
                }
                
else
                {
                    sql_select 
= "select top " + noofrows +
" * from [" + this.FileNevCSV.Trim() 
+ "]";
                }
                
//Creates the data adapter
                
OdbcDataAdapter obj_oledb_da = new 
OdbcDataAdapter(sql_select, conn);
 
                
//Fills dataset with the records from 
CSV file
                
obj_oledb_da.Fill(ds, "csv");
 
                
//closes the connection
                conn.Close();
            }
           
catch (Exception 
e) //Error
            {
            }
           
return ds;
         }
In the third step extract data to DataTable from generated DataSet.
 
this.dirCSV 
= "file path";
           
this.fileNevCSV ="file 
name";
            DataSet ds = 
loadCVS(-1);
            DataTable table = 
ds.Tables[0];
           
foreach (DataRow row in 
table.Rows)
{
//iterate 
through the DataTable.
}
Thanks.
Happy coding...