假设我有一个项目的数组(或列表)
A[] = [a,b,c,d,e]
Run Code Online (Sandbox Code Playgroud)
如果我想打印出来,所以每个项目都用逗号(或任何其他分隔符)分隔,我通常必须这样做:
for(int i=0; i < A.Count; i++)
{
Console.Write(A[i]);
if (i != A.Count-1)
Console.Write(",");
}
Run Code Online (Sandbox Code Playgroud)
所以,我的输出看起来像:
a,b,c,d,e
Run Code Online (Sandbox Code Playgroud)
是否有更好或更简洁的方法来实现这一目标?
我喜欢使用foreach循环,但是在最后一个元素之后也会打印一个逗号,这是不可取的.
Bal*_*a R 27
Console.WriteLine(string.Join(",", A));
Run Code Online (Sandbox Code Playgroud)
您正在寻找String.Join():
var list = String.join(",", A);
Run Code Online (Sandbox Code Playgroud)
String.Join方法(String, String[])使用每个元素之间的指定分隔符连接字符串数组的所有元素.
Run Code Online (Sandbox Code Playgroud)public static string Join( string separator, params string[] value )
是否有更好或更简洁的方法来实现这一目标?我喜欢使用foreach循环,但是在最后一个元素之后也会打印一个逗号,这是不可取的.
正如其他人所说,Join做对了.但是,这是考虑将来可能对您有所帮助的问题的另一种方式.而不是把问题想象成在除了最后一个元素之外的每个元素之后放一个逗号 - 你正确注意到这使得很难使用"foreach"循环 - 想想问题是在除了第一个元素之外的每个元素之前放一个逗号元素.现在使用foreach循环很容易!
对于大约一百万种解决类似问题的方法,请参阅:
原帖博客:
http://blogs.msdn.com/b/ericlippert/archive/2009/04/15/comma-quibbling.aspx