在JavaScript中,如果我有var arr = ["a", "b", "c"]
我可以說arr.join(',');
得到一個包含逗號分隔列表值的字符串。在Linq中有直接的方法嗎?Linq等同於JavaScript的連接?
我知道我可以使用Aggregate
即pluginNames.Aggregate((s1, s2) => s1 + ", " + s2);
但這似乎有點笨重。有更清潔的東西嗎?一些假設像
pluginNames.JavaScriptJoin(", ");
在JavaScript中,如果我有var arr = ["a", "b", "c"]
我可以說arr.join(',');
得到一個包含逗號分隔列表值的字符串。在Linq中有直接的方法嗎?Linq等同於JavaScript的連接?
我知道我可以使用Aggregate
即pluginNames.Aggregate((s1, s2) => s1 + ", " + s2);
但這似乎有點笨重。有更清潔的東西嗎?一些假設像
pluginNames.JavaScriptJoin(", ");
嘗試
string.Join(", ", pluginNames);
您可以使用string.Join()
:
string result = string.Join(",", pluginNames);
只需使用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
,因爲這看起來像你正在做一個內部連接。
不,不,一點都不笨 - string.join會正常工作。我想知道我以前的工作中的新開發人員在考慮看看所有對'Aggregate()'的愚蠢調用:) –
我看到你已經被封頂;對不起,那些+8對你沒有多大幫助 - 希望你不會感到興奮我把支票交給了低分的傢伙:) –