c# - 将 DataTable 中的列结果获取为字符串

标签 c# datatable

我有一个将数据返回到数据表的选择语句。大约 3-5 列和 5-10 行。我正在尝试从“电子邮件”列收集所有数据并将其添加到单行字符串中。

<表类=“s-表”> <标题> 电子邮件 姓名 电话 <正文> [email protected] 弗兰克 213-444-1911 [email protected] 肖恩 213-444-1092 [email protected] 克洛伊 213-444-1229 [email protected] 谢恩 213-444-1769

结果:

[email protected];[email protected];[email protected];[email protected]

最佳答案

解决方案1

  1. 迭代每个 DataRow并从 DataColumn 获取值.

  2. 将值添加到数组/列表中。

  3. 使用 String.Join() 将数组/列表转换为字符串与 ;作为分隔符。

using System.Collections.Generic;

List<string> emails = new List<string>();

foreach (DataRow row in dt.Rows)
{
    emails.Add(row["Email"].ToString());
}

string result = String.Join(";", emails);

解决方案2

  1. 使用 System.Linq 获取电子邮件 List<string> .

  2. 使用 String.Join() 将数组/列表转换为字符串与 ;作为分隔符。

using System.Linq;

string result = String.Join(";", dt.AsEnumerable()
                                      .Select(x => x["Email"].ToString())
                                      .ToList());

Sample .NET Fiddle

关于c# - 将 DataTable 中的列结果获取为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72751445/

相关文章:

c# - 为什么 string.StartsWith ("\u2D2D") 总是返回 true?

c# - JavascriptSerializer、Deserializer,无法反序列化我的对象

c# - 在 VB/C# .NET 中使用 DataGridView 数据填充数据表

c# - DataTable 的线程安全

c# - C# 中的 LinQ 和 DataTable 按问题分组

MySQL 用户管理拒绝访问

c# - 如何在不加载程序集的情况下检查程序集是否包含单元测试?

c# - System.Security.Cryptography.KeyDerivation 未在 VS Community 2015 版本中被识别。 14.0.2

c# - 使用 LINQ Take() X 条记录但查明是否还有更多记录的正确方法是什么

r - 将几何图形的字符向量转换为 sfc_LINESTRING