Create Strings() from String()

04/26/2015 07:51 exception1337#1
Hallo,
versuche gerade ein String Array in mehrere String Arrays zu zerlegen. Klingt ansich ja nicht so schwierig aber ich bekomms nicht gebacken.^^

Beispiel:
Dim StrArr0() as String //Enthält 1250304 Einträge

Aus diesem Array will ich jetzt so viele Arrays wie Möglich mit 100 Einträgen erstellen.

Klar ist mir natürlich das ich die Anzahl der Einträge von StrArr0() durch 100 dividieren muss um die Anzahl der Möglichen 100er Arrays zu bekommen. Anschließend das Ergebniss wieder mit 100 multiplizieren und von der Gesamt Anzahl der Einträge(StrArr0.Count) subtrahieren um die Größe des letzt möglichen Arrays zu bekommen.

Kleines Snippet zum Verständnis:
Code:
        //String Array mit vielen, vielen Einträgen
        Dim StrArr0() As String = File.ReadAllLines("C:\bla.txt")

        //Enthält die Anzahl von Max. Möglichen Arrays mit 100 Einträgen
        Dim _Count As Integer = StrArr0.Count / 100

        //Enthält die Anzahl der übrigen Einträge die nicht mehr für ein Array mit 100 Items reichen
        Dim _Left As Integer = StrArr0.Count - _Count * 100

       //Arrays erstellen
       //...
Bin mal gespannt ob jemand versteht was ich will :D
04/26/2015 10:46 stotterer09#2
Die Eigenschaft um die Arraylänge zu bekommen heißt StrArr0.Length

Ich habe noch nicht ganz verstanden wo das Problem liegt.
Hast du ein Problem beim Ausrechnen beim Kopieren oder wo?
04/26/2015 13:41 exception1337#3
Habs hinbekommen! Hier die Lösung falls es wen interessiert:

Code:
    Private Sub ArrayToArrays()
        'Declare File & Load User Array
        Dim FilePath As String = "C:\Users\Daniel\Desktop\user2.txt"
        Dim UserArr() As String = File.ReadAllLines(FilePath)

        'Declare Entries per SubArray
        Dim SubArrCount As Integer = 10

        'Declare List for Sub Arrays
        Dim SubArrList As New List(Of String())

        'Create Sub Arrays & Add to List
        For i As Integer = 0 To UserArr.Count / SubArrCount - 1
            Dim SubArr() As String = UserArr.Skip(i * SubArrCount).Take(SubArrCount).ToArray
            SubArrList.Add(SubArr)
        Next
    End Sub

Test Input(Textfile mit 177 Lines):

Output sind wie erwünscht 18 Arrays mit jeweils 10 Einträgen wobei das letzte logischerweise nur 7 Einträge hat!
05/01/2015 13:16 xGlumanda#4
Für was nutzt du denn sowas, wenn man fragen darf?
05/02/2015 06:47 exception1337#5
Quote:
Originally Posted by xGlumanda View Post
Für was nutzt du denn sowas, wenn man fragen darf?
Ach, frag bitte nicht^^ xD

Sagen wir's mal so, ich machs mir gerne schwieriger als es im Endeffekt ist. Abgesehen davon fehlt mir leider sehr viel Grundlegendes Wissen über VB/C# da ich nur Hobbymäßig programmiere und (leider) nicht die Möglichkeit hab irgendwelche Kurse oder ähnliches zu machen.

Bei diesem Snippet bin ich im Endeffekt aber selbst ziemlich schnell draufgekommen das es bessere Lösungen für mein Vorhaben gibt.
Wollte es dann eigentlich nur noch "aus Prinzip" fertigstellen :D