显示数据行互相下方(Displaying datarows underneath each othe

2019-10-29 12:06发布

我如何遍历一个DataTable,使行彼此下方整齐地显示,逐行。

我曾尝试为以下但像这样在一列中的所有数据显示。

foreach (DataRow row in myTopTenData.Rows)
            {
                foreach (DataColumn col in myTopTenData.Columns)
                {
                    Console.Write(row[col].ToString() + " ");
                    Console.WriteLine();
                }
            }

Answer 1:

foreach (DataRow row in myTopTenData.Rows)
    {
        foreach (DataColumn col in myTopTenData.Columns)
            Console.Write(string.Format("{0, -10}", row[col].ToString()));

        Console.WriteLine();
     }

string.Format"{0, -10}"将帮助你调整你的列(使用负值为左对齐,积极为右alignement,当然10的为任意值)。



Answer 2:

你可以使用这个小Linq查询和String.Join

var allFields = myTopTenData.AsEnumerable()
      .Select(r => string.Join(Environment.NewLine, r.ItemArray));
string allFieldsLines = string.Join(Environment.NewLine, allFields);

Console.Write(allFieldsLines);

这里的非LINQ的版本一个循环:

foreach (DataRow row in myTopTenData.Rows)
    Console.Write(string.Join(Environment.NewLine, row.ItemArray) + Environment.NewLine);


Answer 3:

你为什么不只是这样尝试:

foreach (DataRow row in myTopTenData.Rows)
{
    foreach (DataColumn col in myTopTenData.Columns)
    {
        Console.Write(row[col].ToString() + " ");
    }
    Console.WriteLine();
}


文章来源: Displaying datarows underneath each other