Linq相当于JavaScript加入?

时间:2011-12-09 17:27:10

标签: c# linq

在JavaScript中如果我有var arr = ["a", "b", "c"]我可以说arr.join(',');来获取包含以逗号分隔的值列表的字符串。在Linq有直接的方法吗?

我知道我可以使用AggregatepluginNames.Aggregate((s1, s2) => s1 + ", " + s2);但这似乎有点笨拙。有什么东西更清洁吗?假设有点像

pluginNames.JavaScriptJoin(", ");

3 个答案:

答案 0 :(得分:15)

尝试

string.Join(", ", pluginNames);

答案 1 :(得分:14)

只使用String.Join - 不是LINQ的一部分,只是框架的一部分:

string joined = string.Join(", ", array);

如果那个真的太笨重了,你可以写一个扩展方法:

public static string JoinStrings(this string[] bits, string separator)
{
    return string.Join(separator, bits);
}

请注意,.NET 4对string.Join有更多重载,包括获取序列(而不仅仅是数组),而不仅仅是字符串。

我建议您只使用名称Join,因为这看起来像是在进行内部联接。

答案 2 :(得分:5)

您可以使用string.Join()

string result = string.Join(",", pluginNames);