List of byte() zu einem byte array?

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Tommi8821.

    List of byte() zu einem byte array?

    Hallo
    Ich möchte mit List 2 Byte Arrays verbinden
    hier mal der code:

    VB.NET-Quellcode

    1. Dim array1() As Byte = {1, 2, 3, 4, 5}
    2. Dim array2() As Byte = {6, 7, 8, 9}
    3. Dim list As New List(Of Byte())
    4. list.Add(array1)
    5. list.Add(array2)


    soweit so gut
    Ich habe jetzt in der List diese 2 arrys drin.
    aber möchte gern diese list alls ein byte array haben,
    das ich nacher
    ein array habe mit {1,2,3,4,5,6,7,8,9}

    ist das list möglich?

    ich weiß geht auch mit copyto.
    mir geht es aber eigentlich nur darum das ich kein neues array dimensionieren muss.
    Ich sehe den Sinn darin nicht. Warum willst du die Arrays in eine Liste packen, um aus der Liste wieder ein Array zu machen? Warum definierst du nicht gleich ein Array mit den Angaben, die du hast? Bspw. mit den Array-Längen? Außerdem ist der Code fehlerhaft, du deklarierst eine List of Byte-Array, keine List of Byte.

    LG
    Moin,

    solltest Du sichergegangen sein, dass Deine Umsetzung mit den Collctions so passt, dann schaue Dir einfach die ToList-Extension an, die Du unter System.Linq fundest.
    Natürlich muss die Liste als Typ dann, wie ChOoSeMyNaMe gesagt hat, Byte haben.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Jou.
    @Tommi8821 Alles zusammen sieht das so aus:

    VB.NET-Quellcode

    1. Dim array1() As Byte = {1, 2, 3, 4, 5}
    2. Dim array2() As Byte = {6, 7, 8, 9}
    3. Dim list As New List(Of Byte)
    4. list.AddRange(array1)
    5. list.AddRange(array2)
    6. Dim array3() As Byte = list.ToArray()
    Nur:
    Warum willst Du ein Array haben? Arbeite doch mit der List(Of Byte) weiter.
    Als Prameter für eine Funktion kannst Du dies machen:

    VB.NET-Quellcode

    1. Private Sub DoIt(by As IEnumerable)
    2. For Each b In by
    3. Console.WriteLine(b)
    4. Next
    5. End Sub
    und so aufrufen:

    VB.NET-Quellcode

    1. DoIt(list)
    2. DoIt(array3)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ahh ok danke erstmal.

    Das Problem war eig das ich
    List(Of Byte())
    verwendet hatte.
    Dadurch konnte ich die Methode .AddRange nicht verwenden.
    bei .Add ging das denn nicht mit list.ToArray

    Wofür ich das ganze brauche weiß ich auch noch nicht :D
    Beschäftige mich erst seit ca 2 Monaten mit VB.net und da ist nie verkehrt mal was auszuprobieren.