【问题标题】:Using string.Join() to avoid a trailing comma使用 string.Join() 避免尾随逗号
【发布时间】:2017-04-21 09:50:02
【问题描述】:

我正在尝试将电子邮件地址列表组合成一个字符串,如下所示:

string bcc = string.empty
foreach (contact as Contact in contacts)
{
    bcc = bcc + contact.Email + ","
}

这种方法的问题是最后的字符串有一个逗号。没什么大不了的,但我想避免它,只是为了保持整洁。所以,我尝试了这个:

bcc = bcc.Join(",", contact.Email);

但这会引发错误:

不能通过实例引用访问成员'string.Join(string, params string[])';用类型名称来限定它

所以,我尝试了这个:

bcc = String.Join(",", contact.Email);

但这只是每次都清除bcc,我最终得到的只是最后一个电子邮件地址。所以,我尝试了这个:

bcc = bcc + string.Join(",", contact.Email);

但这会给我带来一长串未分隔的电子邮件,没有逗号分隔。

我敢肯定,当我看到解决方案时,我会捶我的额头。但我没有掌握它。

【问题讨论】:

  • 只是为了添加到 Peter B,您在字符串类而不是 bcc 实例上使用 Join(静态方法)。

标签: c# string


【解决方案1】:

这是你应该使用的:

// using System.Linq;
bcc = string.Join(",", contacts.Select(c => c.Email));

然后你就不再需要 foreach 了,Linq 会帮你做。

【讨论】:

    猜你喜欢
    • 2015-11-30
    • 2019-02-12
    • 1970-01-01
    • 2021-01-25
    • 2012-06-26
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 2014-01-30
    相关资源
    最近更新 更多