1

是否可以用 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,那么我确信它会提出适当的建议,但我没有。这个问题使用了 Concat,感觉应该会有所帮助,但我不确定在 Concat 中使用什么对象。

4

1 回答 1

9

而不是使用 Linq foreach (List<T>除非您自己编写了它才可用),您可以向后执行并避免在此过程中进行字符串连接:

recipient = string.Join(" ", mail.To.Select(r => r.Address));

这取代了你的var addresses...前进。

于 2013-09-30T12:09:56.473 回答