【发布时间】:2021-01-08 09:33:41
【问题描述】:
我有 3 个文本框。第一个和第二个文本框包含大约 40.000 到 80.000 行数据。每行最多有 6-7 个字符。最后一个复选框有 800-1000 行数据。这些行也有 6-7 个字符。为了将所有这些数据保存在一个文本文件中,我首先在每行的开头添加一个时间标签,在一个选项卡之后写入第一个文本框行,然后是第二个 tbox,第三个 tbox,然后是一个新行。就这样继续下去。
我使用 3 个复选框来了解用户想要保存哪些文本框。点击保存按钮后,下面的这个循环开始。但是需要这么长时间。甚至用户选择只保存第一个文本框,这意味着,比如说 50.000 行,它几乎需要一分钟!
我尝试了诸如写入字符串、使用 StringBuilder、使用 do-while 循环等方法,但无法获得显着效果。我在互联网和论坛上搜索了不同的方法,但找不到方法。
有没有什么有效的方法让它工作得更快?
For i = 0 To linesCount - 1
textStr.Append(timeCount & vbTab)
If (cbSaveOutput.Checked And Not tbOutput.Text = "") Then textStr.Append(tbOutput.Lines(i) & vbTab)
If (cbSaveForce.Checked And Not tbForce.Text = "") Then textStr.Append(tbForce.Lines(i) & vbTab)
If (cbSaveCrop.Checked And Not tbCroppedData.Text = "" And i < tbCroppedData.Lines.Length) Then textStr.Append(tbCroppedData.Lines(i))
textStr.Append(Environment.NewLine)
timeCount = Math.Round(timeCount + (1 / tbSampleRate.Text), 6)
ProgressBar1.Increment(1)
Next
【问题讨论】:
标签: string vb.net loops for-loop