我只需添加逗號每個字旁:如何在陣列成員之間添加逗號等?
foreach (DataRow row in ds.Tables[0].Rows)
{ {
sqlIn += row["personId"] + ", ";
}
然後我刪除最後一個逗號哪一個是不必要的:
sqlIn = sqlIn.TrimEnd(' ', ',');
我覺得自己像在傳統的ASP的日子。我有什麼C#版本嗎?
我只需添加逗號每個字旁:如何在陣列成員之間添加逗號等?
foreach (DataRow row in ds.Tables[0].Rows)
{ {
sqlIn += row["personId"] + ", ";
}
然後我刪除最後一個逗號哪一個是不必要的:
sqlIn = sqlIn.TrimEnd(' ', ',');
我覺得自己像在傳統的ASP的日子。我有什麼C#版本嗎?
繼巴斯乙答案正確的語法是
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
使用String.Join
String.Join(", ", ds.Tables[0].Rows.Select(r => r["personId"].ToString()));
使用String.Join
方法 - 看http://msdn.microsoft.com/en-us/library/system.string.join.aspx可能的過載。
你希望它能以CSV格式轉換。
可以使用以下String.Join
重載:
(方法1)String.Join轉換的列值的陣列或
(方法2),可以使用String.Join超載Join(Of T)(String, IEnumerable(Of T))
後,選擇擴展方法將返回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
爲什麼不使用列表或集合中,每個結果補充的嗎? – 2011-12-27 12:30:43