我有一个项目列表,我想在C#中用它们之间的分隔符显示.使用普通的迭代器,我会在开头或结尾处添加一个额外的分隔符:
string[] sa = {"one","two","three","four"}; string ns = ""; foreach(string s in sa) { ns += s + " * "; } // ns has a trailing *: // one * two * three * four *
现在我可以使用for循环来解决这个问题:
ns = ""; for(int i=0; i<sa.Length; i++) { ns += sa[i]; if(i != sa.Length-1) ns += " * "; } // this works: // one * two * three * four
解决方法
您需要内置的
String.Join
方法:
string ns = string.Join(" * ",sa);
如果你想对其他集合类型做同样的事情,那么如果你首先使用LINQ的ToArray
方法创建一个数组,你仍然可以使用String.Join:
string ns = string.Join(" * ",test.ToArray());