Feedback

VB - Zufälliges Bytearray

Veröffentlicht von am 19.11.2007
(2 Bewertungen)
Sehr nützlich, wenn man eine schreib- speicherfunktion testen will und grad nicht die Passenden Dateien hat.

Edit: 21.11.2007 15:42
Füllt jetzt auch vorhandenes Bytearray.
    ''' <summary>
    ''' Generiert ein zufälliges Bytearray.
    ''' Im falle einer Falscheingabe gibt die Funktion NOTHING zurück.
    ''' </summary>
    ''' <param name="length">Die Länge des Bytearray. Darf nicht kleiner 0 sein!</param>
    ''' <param name="StartRange">Der niedrigste Wert eines Byte.
    ''' Darf nicht kleiner 0 oder größer als EndRange sein!</param>
    ''' <param name="EndRange">Der größte wert eines Byte.
    ''' Darf nicht kleiner StartRange oder größer 255 sein!</param>
    Public Function GenerateByteArray(ByVal length As Integer, Optional ByVal StartRange As Integer = 0, Optional ByVal EndRange As Integer = 255) As Byte()
        If length <= 0 Or StartRange < 0 Or EndRange > 255 Then Return Nothing
        If Not StartRange <= EndRange Then Return Nothing

        length -= 1
        EndRange += 1

        Dim rnd As New System.Random
        Dim ByAr(length) As Byte

        For i As Integer = 0 To length
            ByAr(i) = rnd.Next(StartRange, EndRange)
        Next

        Return ByAr
    End Function

    ''' <summary>
    ''' Füllt ein vorhandenes Bytearray mit Zufallszahlen.
    ''' Im falle einer Falscheingabe gibt die Funktion das Array zurück.
    ''' </summary>
    ''' <param name="ar">Das zu füllende Bytearray. Länge darf nicht kleiner 0 sein!</param>
    ''' <param name="StartRange">Der niedrigste Wert eines Byte.
    ''' Darf nicht kleiner 0 oder größer als EndRange sein!</param>
    ''' <param name="EndRange">Der größte wert eines Byte.
    ''' Darf nicht kleiner StartRange oder größer 255 sein!</param>
    Public Overloads Function GenerateByteArray(ByRef ar() As Byte, Optional ByVal StartRange As Integer = 0, Optional ByVal EndRange As Integer = 255) As Byte()
        If ar.Length <= 0 Or StartRange < 0 Or EndRange > 255 Then Return ar
        If Not StartRange <= EndRange Then Return ar

        EndRange += 1
        Dim rnd As New System.Random
        For i As Integer = 0 To ar.Length - 1
            ar(i) = rnd.Next(StartRange, EndRange)
        Next

        Return ar
    End Function

Abgelegt unter Bytearray, Zufall.

1 Kommentare zum Snippet

Günther Foidl schrieb am 24.09.2008:
Wenn es nur darum geht ein Byte-Array mit zufälligen Werte zu erstellen kann die Methode NextBytes verwendet werden anstatt einzeln die Werte zu schreiben.

Dim buffer As Byte() = New Byte(<Länge des Arrays>) {}

Dim random As New Random()
random.NextBytes(buffer)
 

Logge dich ein, um hier zu kommentieren!