VB.net Alternative ReDim Preserve

mein Programm funktioniert, aber ich denke, es leidet die performance-Probleme, es verbraucht bis zu 40% meiner CPU-Auslastung, während es Schleife das array. normalerweise meine Programme würden nur konsumieren unter 5% der CPU-Auslastung, ich denke ReDim Preserve ist die Ursache HIERFÜR, wie ich bin, looping rund 100.000+ Zeilen. hier ist mein code.

    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()

Gibt es keine alternative Möglichkeit der überführung der Werte in ein array abgesehen von ReDim Preserve?
Vielen Dank im Voraus, ich bin wirklich gefangen in diesem problem jetzt.

Hier ist nun meine aktuelle code-Liste.

    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()

Benötigte ich noch die funcionalities von einem array, so dass ich erstellt ein array, und legte den Inhalt der Liste in es.

  • In einer der Antworten wurde vorgeschlagen, dass Sie eine Liste, die ich Stimme mit. Wenn Sie aus irgendeinem Grund nicht tun können, lassen Sie es uns wissen.
  • ich habe Probleme wo zu beginnen in der Umwandlung Liste. ein Start-code könnte helfen
  • Gibt es einen Grund, nicht zu verwenden File.ReadAllLines?
InformationsquelleAutor Marc Intes | 2013-07-25
Schreibe einen Kommentar