我在C#上工作.我有一个阵列.要分隔数组项,我需要使用逗号.我做到了,但我认为它效率不高.怎么做,没有if条件?请不要使用替换方法.我的语法如下.
string container = "";
string[] s = "Hellow world how are you".Split(' ');
foreach (string item in s)
{
if (container == "")
{
container += item;
}
else
{
container += "," + item;
}
}
Run Code Online (Sandbox Code Playgroud)
我必须继续循环.我只想要下面的类型解决方案.
string container = "";
string[] s = "Hellow world how are you".Split(' ');
foreach (string item in s)
{
container += "," + item;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.如有任何疑问请咨询.
Jon*_*ood 13
用于使用String.Join逗号分隔符连接数组.
string[] s = "Hello world how are you".Split(' ');
string container = String.Join(",", s);
Run Code Online (Sandbox Code Playgroud)
此外,如果您想在此网站上获得帮助,我建议您开始接受一些答案.
你的问题不是if声明.您的问题是,在循环中执行字符串连接和其他操作通常是糟糕的形式和不良做法.该string班是不变的,变化正在创造新的字符串,分配新的内存,等等.因此,这种做法是缓慢,效率低下,远远超过你的if陈述会.循环的迭代次数越多,您就越会注意到效率低下.
您应该熟悉这个StringBuilder类,它允许您在string不重复分配新对象的情况下执行a的有效操作.它在像你这样的循环中特别有用.
使用a的示例StringBuilder如下所示
StringBuilder builder = new StringBuilder();
foreach (string item in array)
{
if (builder.Length != 0) builder.Append(",");
builder.Append(item);
}
string finalOutput = builder.ToString();
Run Code Online (Sandbox Code Playgroud)
话虽如此,string.Join它也是您正在执行的串联类型的强大工具.
| 归档时间: |
|
| 查看次数: |
284 次 |
| 最近记录: |