我如何获得列名在本C#程序打印? [英] How do I get column names to print in this C# program?

查看:156
本文介绍了我如何获得列名在本C#程序打印?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我拼凑一个C#程序,需要一个的.csv 文件,并将其写入到数据表。使用这个程序,我可以通过 DataTable的每一行循环并打印出包含的行中的信息。控制台输出看起来是这样的:

  --- ---行
项目:1
项目:545
项目:507
项目:484
项目:501

我想打印的列名的每个值的旁边,为好,这样它看起来是这样的:

   -  - 行 -  
项目:1小时
项目:第一天545 KW
项目:507第2天KW
项目:484第三天KW
项目:501 KW第四天

有人可以看看我的代码,并告诉我,我可以添加,使列名会打印?我很新的C#,所以请原谅我,如果我忽略了一些东西。



下面是我的代码:

  //写load_forecast数据数据表。 
的DataTable loadDT =新的DataTable();
StreamReader的SR =新的StreamReader(@C:\load_forecast.csv);

的String [] =头sr.ReadLine()斯普利特('')。
的foreach(在头串标头)
{
loadDT.Columns.Add(头); //我在这里加列标题。
}

而(sr.Peek()&0)
{
的DataRow loadDR = loadDT.NewRow();
loadDR.ItemArray = sr.ReadLine()分割(,)。
loadDT.Rows.Add(loadDR);
}

的foreach(DataRow的行loadDT.Rows)
{
Console.WriteLine(---行---);
的foreach(在row.ItemArray VAR项)
{
Console.Write(项目);
Console.WriteLine(项目); //我可以在这里补充一下同时打印的列名?
}
}


解决方案

您需要循环 loadDT.Columns ,就像这样:

 的foreach(在loadDT.Columns的DataColumn列)
{
Console.Write(项目);
Console.Write(column.ColumnName);
Console.Write();
Console.WriteLine(行[专栏]);
}


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 DataTable 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?
    }
}

解决方案

You need to loop over loadDT.Columns, like this:

foreach (DataColumn column in loadDT.Columns)
{
    Console.Write("Item: ");
    Console.Write(column.ColumnName);
    Console.Write(" ");
    Console.WriteLine(row[column]);
}

这篇关于我如何获得列名在本C#程序打印?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆