是否可以用Linq命令替换foreach语句?
string recipient = "recipients could not be defined";
if (mail.To != null && mail.To.Count > 0) {
var addresses = mail.To.Select(r => r.Address);
foreach (string s in addresses) {
recipient += s + " ";
}
}
如果我有ReSharper,那么我相信它会提出一个合适的建议,但我没有。 This question uses Concat感觉它应该有所帮助,但我不确定在Concat中使用什么对象。
答案 0 :(得分:8)
除了使用Linq foreach(仅在List<T>
上可用,除非您已编写自己的),您可以向后执行此操作并避免过程中的字符串连接:
recipient = string.Join(" ", mail.To.Select(r => r.Address));
这将取代您的var addresses...
以后。