如何循环遍历数据表,以便行逐行显示在彼此之下。
我所尝试的是以下内容,但是像这样,所有数据都显示在一列中。
foreach (DataRow row in myTopTenData.Rows)
{
foreach (DataColumn col in myTopTenData.Columns)
{
Console.Write(row[col].ToString() + " ");
Console.WriteLine();
}
}
答案 0 :(得分:1)
您可以使用此小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);
答案 1 :(得分:1)
为什么不试试这个:
foreach (DataRow row in myTopTenData.Rows)
{
foreach (DataColumn col in myTopTenData.Columns)
{
Console.Write(row[col].ToString() + " ");
}
Console.WriteLine();
}
答案 2 :(得分: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}"
将帮助您对齐列(使用左对齐的负值,右对齐的正值,当然10是任意值)。