Feedback

Zufälliges Bytearray

Sprache: VB

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
    ''' <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

1 Kommentar

  1. 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.
    [code]
    Dim buffer As Byte() = New Byte() {}

    Dim random As New Random()
    random.NextBytes(buffer)
    [/code]