如何解决如何将此没有空的复制行从 RichTextBox 重构为 ArrayList
我想让用户从程序界面通过复制粘贴来添加代理地址,当按钮按下时,我想将它们复制到arraylist并继续使用arraylist,但是当行数很高时,需要相当长的时间。当我添加了 10,000 个代理并尝试按钮时,等待一段时间后出现错误。如何快速将richtextBox中的项目添加到arraylist列表中?
我的代码:
ArrayList plist = new ArrayList();
if (richTextBox1.Lines.Length > 0 && checkBox1.Checked == true)
{
for (int i = 0; i < richTextBox1.Lines.Length; i++)
{
if (richTextBox1.Lines[i].ToString() != "")
{
plist.Add(richTextBox1.Lines[i].ToString());
}
}
}
解决方法
您可以在条件检查后将其写在一行中:
if ( checkBox1.Checked && richTextBox1.Lines.Length > 0 )
plist.AddRange(richTextBox1.Lines.Where(line => line != "").ToArray()); //or line.Trim() != ""
我认为除了不必要的 ToString
之外,您不会获得任何速度优化,但代码现在更短、更干净、更健壮且更易于维护。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。