Jan*_*mes 2 c# string coding-style
假设我有一个带有这样字符串的foreach循环:
String newStr='';
String str='a b c d e';
foreach(String strChar in str.split(' ')) {
newStr+=strChar+',';
}
Run Code Online (Sandbox Code Playgroud)
结果将是这样的:a,b,c,d,e,但我想要的是a,b,c,d,e没有最后一个逗号.我通常将最后一个逗号分开,但这看起来很丑陋和超重.有没有轻量级的方法来做到这一点?
除了这个问题之外:是否有任何简单的解决方案可以在星座中添加"和",结果如下:a, b, c, d and e对于用户输出?
ps:我知道我可以在示例中使用replace-method但这不是我正在寻找的,因为在大多数情况下你不能使用它(例如当你构建一个sql字符串时).
Jon*_*eet 11
我会用string.Join:
string newStr = string.Join(",", str.Split(' '));
Run Code Online (Sandbox Code Playgroud)
或者,您可以在循环体的开头添加分隔符,但不能在第一轮添加分隔符.
StringBuilder如果你想继续这样做,我建议使用.实际上,使用a StringBuilder可以无条件地附加分隔符,然后在末尾减小长度以修剪该末尾.
你还写道:
例如,当您构建一个sql字符串时
建立像这样的SQL字符串是一个很好的主意.特别是,你绝对不应该在这里使用来自用户输入的字符串 - 而是使用参数化的SQL.构建SQL通常是ORM代码的域...在这种情况下,使用现有的ORM通常比滚动自己更好:)