Linq等同于JavaScript的加入?

Ada*_*kis 4 c# linq

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

我知道我可以使用Aggregateie pluginNames.Aggregate((s1, s2) => s1 + ", " + s2); 但这看起来有点笨重.有什么东西更清洁吗?有点假设的东西

pluginNames.JavaScriptJoin(", ");
Run Code Online (Sandbox Code Playgroud)

Dav*_*vy8 15

尝试

string.Join(", ", pluginNames);
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 14

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

string joined = string.Join(", ", array);
Run Code Online (Sandbox Code Playgroud)

如果这是真的对你来说太笨重,你可以写一个扩展方法:

public static string JoinStrings(this string[] bits, string separator)
{
    return string.Join(separator, bits);
}
Run Code Online (Sandbox Code Playgroud)

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

我建议您不要只使用名称Join,因为这看起来像是在进行内连接.


Bro*_*ass 5

你可以使用string.Join():

string result = string.Join(",", pluginNames);
Run Code Online (Sandbox Code Playgroud)