将特定列中的数据集值检索为字符串

时间:2012-10-19 07:40:05

标签: c# ado.net dataset

在我的应用程序中,我想获取数据集中特定列的数据并将其转换为带逗号分隔的字符串。我用过下面的代码。但我认为它使应用程序非常缓慢。

string ids = "";
if (datatable1.Rows.Count > 0)         
{
       foreach (DataRow dr in datatable1.Rows)
       {
           ids += dr["id"].ToString() + " ,";
       }

}

任何人都可以提供一些改进代码的建议。

1 个答案:

答案 0 :(得分:3)

如果您进行的连接太多,请使用StringBuilder

StringBuilder ids = new StringBuilder();
if (datatable1.Rows.Count > 0)         
{
       foreach (DataRow dr in datatable1.Rows)
       {
           ids.Append(dr["id"].ToString() + ",");
       }

}

或者您可以使用string.Join

缩短它
string ids = string.Join(",",datatable1.AsEnumerable()
                                       .Select(r=> r.Field<int>("ID")));