Hallo,
das Framework bietet nicht nur das konventionelle Zusammensetzen von Strings an,
sondern auch - eine deutlich schnellere Methode.
Die Stringbuilder Klasse.
Hier mal eine Tabelle, wie sich die beiden Methoden in der Geschwindigkeit unterscheiden.
Hier ein Beispielcode:
Bitte beachten, dass das Listview erst am Schluss richtig dargestellt wird.
Dies kann - je nach Rechner - eine Weile dauern.
Gruss
mikeb69
das Framework bietet nicht nur das konventionelle Zusammensetzen von Strings an,
sondern auch - eine deutlich schnellere Methode.
Die Stringbuilder Klasse.
Hier mal eine Tabelle, wie sich die beiden Methoden in der Geschwindigkeit unterscheiden.
Hier ein Beispielcode:
VB.NET-Quellcode
- Imports System.Text
- Public Class Form1
- Private values() As Integer = {100, 500, 1000, 5000, 10000, 50000, 100000}
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- 'string nach der herkömmlichen methode zusammensetzen
- Dim sw1 As New Stopwatch
- Dim sw2 As New Stopwatch
- For v As Integer = 0 To values.Count - 1
- 'normale methode
- sw1.Start()
- Dim test1 As String = ""
- For i As Integer = 0 To values(v) - 1
- test1 &= "0"
- Next
- sw1.Stop()
- 'stringbuilder-klasse
- sw2.Start()
- Dim test2 As New StringBuilder
- For i As Integer = 0 To values(v) - 1
- test2.Append("0")
- Next
- sw2.Stop()
- 'werte in listview ausgeben
- Dim lvi As ListViewItem = Me.ListView1.Items.Add(values(v).ToString)
- lvi.SubItems.Add(sw1.ElapsedMilliseconds.ToString & " ms")
- lvi.SubItems.Add(sw2.ElapsedMilliseconds.ToString & " ms")
- sw1.Reset()
- sw2.Reset()
- Next
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- With Me.ListView1
- .View = View.Details
- .Columns.Add("Anzahl der Zeichen", 100, HorizontalAlignment.Right)
- .Columns.Add("Normal", 100, HorizontalAlignment.Right)
- .Columns.Add("Stringbuilder", 100, HorizontalAlignment.Right)
- End With
- End Sub
- End Class
Bitte beachten, dass das Listview erst am Schluss richtig dargestellt wird.
Dies kann - je nach Rechner - eine Weile dauern.
Gruss
mikeb69