我想使用LINQ在一行中重写以下代码.可能吗?
var to = new MailAddressCollection();
foreach(string recipient in recipients)
{
to.Add(new MailAddress(recipient));
}
Run Code Online (Sandbox Code Playgroud)
像下面这样的东西是理想的.如上所述,它返回多个MailAddressCollections:
var to = recipients.Select(r => new MailAddressCollection() {new MailAddress(r)});
Run Code Online (Sandbox Code Playgroud)
请注意,这些是框架类,因此我无法重写MailAddressCollection以包含构造函数参数.
MailAddressCollection没有接受收件人列表的构造函数。如果你真的想在一行中完成,你可以这样写:
var to = recipients.Aggregate(new MailAddressCollection(),
(c, r) => { c.Add(new MailAddress(r)); return c; });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2641 次 |
| 最近记录: |