我做了一个合并文本文件的代码。但它的工作速度太慢,我想将字符串更改为 stringbuilder。但效果不佳。如何将字符串更改为字符串生成器?
private void button3_Click(object sender, EventArgs e)
{
string[] Text1 = new[] { this.textBox1.Text };
string[] Text2 = new[] { this.textBox2.Text };
string[] Word1 = this.textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
string[] Word2 = this.textBox2.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
// this.textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
if (Word1.Length > 0)
{
for (int i = 0, j = 0; i < Word1.Length; i++)
{
if (!string.IsNullOrEmpty(string.Join("", Word1[i])))
{
this.textBox3.Text = this.textBox3.Text + Word1[i];
}
else
{
this.textBox3.Text = this.textBox3.Text + Word2[j];
j = j + 1;
}
this.textBox3.Text = this.textBox3.Text + "\r\n";
}
}
}
我认为您的问题不是字符串的使用,而是您在用户控件中工作。这应该快得多:
private void button3_Click(object sender, EventArgs e)
{
string[] Text1 = new[] { this.textBox1.Text };
string[] Text2 = new[] { this.textBox2.Text };
string[] Word1 = this.textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
string[] Word2 = this.textBox2.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
// this.textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
string outStr = string.Empty;
if (Word1.Length > 0)
{
for (int i = 0, j = 0; i < Word1.Length; i++)
{
if (!string.IsNullOrEmpty(string.Join("", Word1[i])))
{
outStr = outStr + Word1[i];
}
else
{
outStr = outStr + Word2[j];
j = j + 1;
}
outStr = outStr + "\r\n";
}
this.textBox3.Text = outStr;
}
}
字符串生成器
这是一个解决方案StringBuilder
:
private void button3_Click(object sender, EventArgs e)
{
string[] Text1 = new[] { this.textBox1.Text };
string[] Text2 = new[] { this.textBox2.Text };
string[] Word1 = this.textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
string[] Word2 = this.textBox2.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
// this.textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
StringBuilder outStr = new StringBuilder();
if (Word1.Length > 0)
{
for (int i = 0, j = 0; i < Word1.Length; i++)
{
if (!string.IsNullOrEmpty(string.Join("", Word1[i])))
{
outStr.Append(Word1[i]);
}
else
{
outStr.Append(Word2[j]);
j = j + 1;
}
outStr.Append(Environment.NewLine);
}
this.textBox3.Text = outStr.ToString();
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句