How do I get column names to print in this C# program?

Posted by Kevin on Stack Overflow See other posts from Stack Overflow or by Kevin
Published on 2010-04-01T03:14:37Z Indexed on 2010/04/01 3:23 UTC
Read the original article Hit count: 301

Filed under:
|
|
|

I've cobbled together a C# program that takes a .csv file and writes it to a datatable. Using this program, I can loop through each row of the data table and print out the information contained in the row. The console output looks like this:

--- Row ---
Item: 1
Item: 545
Item: 507
Item: 484
Item: 501

I'd like to print the column name beside each value, as well, so that it looks like this:

--- Row ---
Item: 1   Hour
Item: 545 Day1 KW
Item: 507 Day2 KW
Item: 484 Day3 KW
Item: 501 Day4 KW

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. Here is my 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() > 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?
            }
        }

© Stack Overflow or respective owner

Related posts about c#

Related posts about datatable