Mar*_*tes 0 vb.net arrays loops filestream streamreader
我的程序确实有效,但我认为它会遇到性能问题,它在循环数组时占用了总CPU使用量的40%.通常我的程序只占用CPU使用率的5%以下,我认为ReDim Preserve正在导致这种情况,因为我正在循环大约100,000多行.这是我的代码.
Dim sArray As String()
Dim fStream As New System.IO.FileStream("messages.txt", IO.FileMode.Open)
Dim sReader As New System.IO.StreamReader(fStream)
Dim Index As Integer = 0
Do While sReader.Peek >= 0
ReDim Preserve sArray(Index)
sArray(Index) = sReader.ReadLine
Index += 1
Loop
fStream.Close()
sReader.Close()
Run Code Online (Sandbox Code Playgroud)
除了ReDim Preserve之外,还有其他方法可以将值放入数组吗?在此先感谢,我现在真的陷入了这个问题.
这是我使用List的更新代码.
Dim sArray As String()
Dim sList As New List(Of String)
Dim fStream As New System.IO.FileStream("messages.txt", IO.FileMode.Open)
Dim sReader As New System.IO.StreamReader(fStream)
Dim Index As Integer = 0
Do While sReader.Peek >= 0
sList.Add(sReader.ReadLine)
Loop
sArray = sList.ToArray
fStream.Close()
sReader.Close()
Run Code Online (Sandbox Code Playgroud)
我仍然需要数组的功能,所以我创建了一个数组并将List的内容放入其中.
| 归档时间: |
|
| 查看次数: |
12565 次 |
| 最近记录: |