我有一个项目列表,我希望在 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 http://msdn.microsoft.com/en-us/library/system.string.join.aspx method:
string ns = string.Join(" * ", sa);
如果您想对其他集合类型执行相同的操作,那么您仍然可以使用String.Join
如果您首先使用 LINQ 创建一个数组ToArray http://msdn.microsoft.com/en-us/library/bb298736.aspx method:
string ns = string.Join(" * ", test.ToArray());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)