0

私のアプリケーションでは、データセットの特定の列のデータを取得し、それをコンマ区切りの文字列に変換したいと考えています。以下のコードを使用しました。しかし、それによりアプリケーションが非常に遅くなると思います。

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

}

コードを改善するための提案を誰でも提供できますか。

4

1 に答える 1

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")));
于 2012-10-19T07:41:20.507 に答える