You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从DataTable中提取Email列所有值拼接为单个字符串

DataTable指定列拼接分号分隔字符串实现方案

核心实现(LINQ简洁写法)

首先引入所需命名空间:

using System.Data;
using System.Linq;

核心代码,直接传入你存储查询结果的DataTable对象即可:

// 替换dt为你实际的DataTable变量名
string emailResult = string.Join(";", dt.AsEnumerable()
    .Select(r => r.Field<string>("Email"))
    .Where(email => !string.IsNullOrWhiteSpace(email))
);

代码逻辑说明:

  • 遍历DataTable所有数据行,逐行读取Email列的字符串值
  • 自动过滤空值、全空白的无效邮箱,避免拼接后出现多余的连续分号
  • 以分号;为分隔符,把所有有效邮箱拼接为单行字符串
    用你提供的示例数据运行,输出结果完全符合预期:

Why@aol.com;Sit@aol.com;Wow@aol.com;Who@aol.com

兼容写法(无LINQ环境可用)

如果你的项目版本较低不支持LINQ,可以用循环+StringBuilder实现,效果一致,首先引入命名空间:

using System.Data;
using System.Text;

实现代码:

StringBuilder sb = new StringBuilder();
foreach (DataRow row in dt.Rows)
{
    string email = row["Email"].ToString().Trim();
    if (string.IsNullOrEmpty(email)) continue;
    
    if (sb.Length > 0) sb.Append(";");
    sb.Append(email);
}
string emailResult = sb.ToString();

内容的提问来源于stack exchange,提问作者Manny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 05:39:16