使用string.Join()来避免使用尾随逗号

Cas*_*ton 2 c# string

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

string bcc = string.empty
foreach (contact as Contact in contacts)
{
    bcc = bcc + contact.Email + ","
}
Run Code Online (Sandbox Code Playgroud)

该方法的问题是最终字符串有一个尾随逗号.没什么大不了的,但我想避免它,只是为了整洁.所以,我试过这个:

bcc = bcc.Join(",", contact.Email);
Run Code Online (Sandbox Code Playgroud)

但是这会引发错误:

使用实例引用无法访问成员'string.Join(string,params string [])'; 用类型名称来限定它

所以,我试过这个:

bcc = String.Join(",", contact.Email);
Run Code Online (Sandbox Code Playgroud)

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

bcc = bcc + string.Join(",", contact.Email);
Run Code Online (Sandbox Code Playgroud)

但这让我得到了一长串未分隔的电子邮件,没有逗号分隔.

我确定当我看到解决方案时,我会打击我的额头.但我并没有抓住它.

Pet*_*r B 5

这是你应该使用的:

// using System.Linq;
bcc = string.Join(",", contacts.Select(c => c.Email));
Run Code Online (Sandbox Code Playgroud)

然后你不再需要foreach了,Linq为你做了.