循环一个字符串 - 有更好的方法吗?

时间:2018-02-08 09:52:23

标签: c# for-loop coding-style

我将String Array传递给具有以下代码的函数。数组中的字符串是电子邮件地址的第一部分。我需要将domain.com添加到每个字符串的末尾,并在每个地址之间添加“,”。我有下面的工作代码,但只是想知道是否有(更好/更清洁/更有效)的方式吗?

String toAddress = "";
for (int x = 0; x < addresses.Length; x++)
{
    if (x == (addresses.Length-1))
    {
        toAddress += addresses[x] + "@domain.com";
    }
    else
    {
        toAddress += addresses[x] + "@domain.com,";
    }
}

2 个答案:

答案 0 :(得分:11)

您可以使用Join和Linq Select来解决此问题

string toAddress = string.Join(",", addresses.Select(x => x + "@domain.com"));

答案 1 :(得分:2)

fubo有理想而且最简洁的答案,但这也是另一种方法。

string toAddress = null;
addresses.ForEach(x => toAddress += $"{x}@domain.com,");
toAddress = toAddress.Remove(toAddress.Length - 1);