我如何遍历一个DataTable,使行彼此下方整齐地显示,逐行。
我曾尝试为以下但像这样在一列中的所有数据显示。
foreach (DataRow row in myTopTenData.Rows)
{
foreach (DataColumn col in myTopTenData.Columns)
{
Console.Write(row[col].ToString() + " ");
Console.WriteLine();
}
}
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的为任意值)。
你可以使用这个小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);
你为什么不只是这样尝试:
foreach (DataRow row in myTopTenData.Rows)
{
foreach (DataColumn col in myTopTenData.Columns)
{
Console.Write(row[col].ToString() + " ");
}
Console.WriteLine();
}