title: How do I get column names to print in this C# program?
body: <p>I've cobbled together a C# program that takes a <code>.csv</code> file and writes it to a <code>DataTable</code>.  Using this program, I can loop through each row of the <code>DataTable</code> and print out the information contained in the row.  The console output looks like this:</p>
  
  <pre><code>--- Row ---
  Item: 1
  Item: 545
  Item: 507
  Item: 484
  Item: 501
  </code></pre>
  
  <p>I'd like to print the column name beside each value, as well, so that it looks like this:</p>
  
  <pre><code>--- Row ---
  Item: 1   Hour
  Item: 545 Day1 KW
  Item: 507 Day2 KW
  Item: 484 Day3 KW
  Item: 501 Day4 KW
  </code></pre>
  
  <p>Can someone look at my code and tell me what I can add so that the column names will print?  I am very new to C#, so please forgive me if I've overlooked something.  </p>
  
  <p>Here is my code:</p>
  
  <pre><code>// Write load_forecast data to datatable.
  DataTable loadDT = new DataTable();
  StreamReader sr = new StreamReader(@"c:\load_forecast.csv");                      
  
  string[] headers = sr.ReadLine().Split(',');
  foreach (string header in headers)
  {
      loadDT.Columns.Add(header); // I've added the column headers here.
  }
  
  while (sr.Peek() &gt; 0)
  {
      DataRow loadDR = loadDT.NewRow();
      loadDR.ItemArray = sr.ReadLine().Split(',');
      loadDT.Rows.Add(loadDR);
  }
  
  foreach (DataRow row in loadDT.Rows)
  {
      Console.WriteLine("--- Row ---");
      foreach (var item in row.ItemArray)
      {
          Console.Write("Item:");
          Console.WriteLine(item); // Can I add something here to also print the column names?
      }
  }
  </code></pre>