是否可以使用 Linq 来替换这个 Foreach 循环
本文关键字:Foreach 循环 替换 可以使 Linq 是否 | 更新日期: 2023-09-27 18:33:16
是否可以将foreach语句替换为Linq命令?
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,那么我相信它会提出一个适当的建议,但我没有。这个问题使用 Concat,感觉它应该有所帮助,但我不确定在 Concat 中使用什么对象。
与其使用 Linq foreach(除非您编写了自己的代码,否则仅在List<T>
上可用),您可以向后执行此操作并避免在此过程中的字符串连接:
recipient = string.Join(" ", mail.To.Select(r => r.Address));
这将取代您的var addresses...
。