如何在数组成员之间添加逗号等?

时间:2011-12-27 12:28:23

标签: c#

我只需在每个单词旁边添加逗号:

 foreach (DataRow row in ds.Tables[0].Rows)
 {                {
    sqlIn += row["personId"] + ", ";
 }

然后我删除最后一个不需要的逗号:

 sqlIn = sqlIn.TrimEnd(' ', ',');

我觉得在经典ASP的时代。我有什么C#版本吗?

4 个答案:

答案 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