在JavaScript中如果我有var arr = ["a", "b", "c"]
我可以说arr.join(',');
来获取包含以逗号分隔的值列表的字符串。在Linq有直接的方法吗?
我知道我可以使用Aggregate
即pluginNames.Aggregate((s1, s2) => s1 + ", " + s2);
但这似乎有点笨拙。有什么东西更清洁吗?假设有点像
pluginNames.JavaScriptJoin(", ");
答案 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);