Qua*_*ter 1099
你可以用String.Join
.如果你有,List<string>
那么你可以ToArray
先打电话:
List<string> names = new List<string>() { "John", "Anna", "Monica" };
var result = String.Join(", ", names.ToArray());
Run Code Online (Sandbox Code Playgroud)
在.NET 4中,您不再需要它ToArray
,因为存在重载String.Join
需要IEnumerable<string>
.
Bob*_*Bob 85
如果您愿意,也可以使用linq执行此操作
var names = new List<string>() { "John", "Anna", "Monica" };
var joinedNames = names.Aggregate((a, b) => a + ", " + b);
Run Code Online (Sandbox Code Playgroud)
虽然我更喜欢Quartermeister的答案中的非linq语法,但我认为Aggregate
可能执行得更慢(可能更多的字符串连接操作).
基于已接受答案的扩展方法,我在所有项目中使用:
public static string StringJoin(this IEnumerable<string> values, string separator)
{
return string.Join(separator, values);
}
Run Code Online (Sandbox Code Playgroud)
用法:
var result = names.StringJoin(", ");
Run Code Online (Sandbox Code Playgroud)
PS 不要用Aggregate
这个,它比string.Join