我只需在每个单词旁边添加逗号:
foreach (DataRow row in ds.Tables[0].Rows)
{ {
sqlIn += row["personId"] + ", ";
}
然后我删除最后一个不需要的逗号:
sqlIn = sqlIn.TrimEnd(' ', ',');
我觉得在经典ASP的时代。我有什么C#版本吗?
答案 0 :(得分:6)
使用String.Join
String.Join(", ", ds.Tables[0].Rows.Select(r => r["personId"].ToString()));
答案 1 :(得分:3)
进一步向Bas B回答正确的语法是
string s = String.Join(", ", ds.Tables[0].Select().Select(r => r["personID"].ToString()));
这是工作证明
using System;
using System.Linq;
using System.Data.Linq;
using System.Data;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds.Tables.Add(dt);
string col = "personId";
dt.Columns.Add(col, typeof(int));
dt.Rows.Add(1);
dt.Rows.Add(2);
string s = String.Join(", ", ds.Tables[0].Select().Select(r => r["personID"].ToString()));
Console.WriteLine(s);
Console.ReadLine();
}
}
}
输出
1, 2
答案 2 :(得分:2)
使用String.Join
方法 - 请参阅http://msdn.microsoft.com/en-us/library/system.string.join.aspx以了解可能的重载。
答案 3 :(得分:1)
您希望它以CSV格式转换。
您可以使用以下String.Join
重载:
(方法1 ) String.Join
(方法2 )您可以使用String.Join重载Join(Of T)(String, IEnumerable(Of T))
,选择Extension方法将返回IEnumerable的String类型值。
方法1:
String.Join(",", (From row In ds.Tables[0].Rows.AsEnumerable Select row["personId")).ToArray)
方法2:
String.Join(", ", ds.Tables[0].Rows.Select(row => row["personId"].ToString()));
按照此SO主题进行参考:Convert single column of a DataTable to CSV