Array für List of Strings

  • VB.NET
  • .NET (FX) 4.0

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Array für List of Strings

    Wenn ich mit List of Strings arbeite und diese so deklariere:

    VB.NET-Quellcode

    1. ' List of Strings für die Anzeigen
    2. Dim Schublade_1_Bat_Anz As New List(Of String()) ' List of Strings, in denen die Daten aus den Anzeigen gespeichert werden
    3. Dim Schublade_2_Bat_Anz As New List(Of String()) ' List of Strings, in denen die Daten aus den Anzeigen gespeichert werden
    4. Dim Schublade_3_Bat_Anz As New List(Of String()) ' List of Strings, in denen die Daten aus den Anzeigen gespeichert werden
    5. Dim Schublade_4_Bat_Anz As New List(Of String()) ' List of Strings, in denen die Daten aus den Anzeigen gespeichert werden
    6. Dim Schublade_5_Bat_Anz As New List(Of String()) ' List of Strings, in denen die Daten aus den Anzeigen gespeichert werden
    7. Dim Schublade_6_Bat_Anz As New List(Of String()) ' List of Strings, in denen die Daten aus den Anzeigen gespeichert werden
    8. Dim Schublade_7_Bat_Anz As New List(Of String()) ' List of Strings, in denen die Daten aus den Anzeigen gespeichert werden



    So befülle:

    VB.NET-Quellcode

    1. For Anzeigen_anlegen As Integer = 0 To 17
    2. Schublade_1_Bat_Anz.Add({})
    3. Schublade_2_Bat_Anz.Add({})
    4. Schublade_3_Bat_Anz.Add({})
    5. Schublade_4_Bat_Anz.Add({})
    6. Schublade_5_Bat_Anz.Add({})
    7. Schublade_6_Bat_Anz.Add({})
    8. Schublade_7_Bat_Anz.Add({})
    9. Next Anzeigen_anlegen


    Kann ich immer nur einzeln z.B. mit:

    VB.NET-Quellcode

    1. (Schublade_5_Bat_Anz(1)(5))
    darauf zugreifen.

    Wie kann ich das in einem Array ansprechen ?

    Also in etwa wie: :S
    Dim array as Integer = {Schublade_1_Bat_Anz,Schublade_2_Bat_Anz,Schublade_3_Bat_Anz,Schublade_4_Bat_Anz,Schublade_5_Bat_Anz,Schublade_6_Bat_Anz,Schublade_7_Bat_Anz} ???

    Und wie könnte ich dann den Inhalt aller auf einmal löschen? ?(
    Indem du anstatt eine List of String-Array eine List of String nimmst.

    VB.NET-Quellcode

    1. Dim Schublade_1_Bat_Anz As New List(Of String())' liste string array
    2. Dim Schublade_1_Bat_Anz As New List(Of String)'liste string

    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    „Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, wird am Ende beides verlieren.“
    Benjamin Franklin
    WasWieWoWer?

    Digtro_77 schrieb:

    Wenn ich mit List of Strings arbeite und diese so deklariere:
    Dann liegt da schon ein Beschreibungsfehler vor. Wie NoIde schon schrieb: Du erzeugst da keine Gruppe von List(Of String), sondern eine von List(Of String()). Beispiel Zeile#2:

    VB.NET-Quellcode

    1. Dim Schublade_1_Bat_Anz As New List(Of String())
    Damit ist Schublade_1_Bat_Anz eine Liste von String-Arrays, nicht eine Liste von Strings.
    Was soll Codeblock#2 bewirken, das Teil mit der For-Schleife?
    Was willst Du damit sagen:

    Digtro_77 schrieb:

    Kann ich immer nur einzeln z.B. mit [Code] darauf zugreifen. Wie kann ich das in einem Array ansprechen ?
    Und was willst Du konkret erreichen?
    Was ist denn bitte aus Post#1:

    Digtro_77 schrieb:

    Dim array as Integer = {Schublade_1_Bat_Anz,Schublade_2_Bat_Anz,Schublade_3_Bat_Anz,Schublade_4_Bat_Anz,Schublade_5_Bat_Anz,Schublade_6_Bat_Anz,Schublade_7_Bat_Anz}

    Das ist dann ein Array aus String-Arrays. Wie soll das einen Integer ergeben?

    Beschreib mal bitte ohne Code, was Du da erschaffen und welches Problem Du lösen willst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Digtro_77 schrieb:

    VB.NET-Quellcode

    1. ' List of Strings für die Anzeigen
    2. Dim Schublade_1_Bat_Anz As New List(Of String()) ' List of Strings, in denen die Daten aus den Anzeigen gespeichert werden

    Digtro_77 schrieb:

    Ich "glaube", dass wir da aneinander vorbei reden.
    Das glaube ich nicht.
    Dein eigener Kommentar widerspricht Deinem Code. @NoIde hat Dich genau darauf hingewiesen.

    VB.NET-Quellcode

    1. Dim Schublade_1_Bat_Anz As New List(Of String)
    würde Deinem Kommentar entsprechen.
    ===================
    Wenn Du mit

    VB.NET-Quellcode

    1. (Schublade_5_Bat_Anz(1)(5))
    zugreifen willst, müssen natürlich mindestens so viele Elemente vorhanden sein:

    VB.NET-Quellcode

    1. Dim Schublade_1_Bat_Anz As New List(Of String())
    2. Schublade_1_Bat_Anz.Add({"1", "2"})
    3. Schublade_1_Bat_Anz.Add({"11", "12", "13", "14", "15", "16"})
    4. Schublade_1_Bat_Anz.Add({"21", "22"})
    5. Schublade_1_Bat_Anz.Add({"31", "32"})
    6. Schublade_1_Bat_Anz.Add({"41", "42"})
    7. Schublade_1_Bat_Anz.Add({"51", "52"})
    8. Schublade_1_Bat_Anz.Add({"61", "62"})
    9. MessageBox.Show(Schublade_1_Bat_Anz(1)(5))
    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!
    *Grummel*
    Ja - natürlich, ich gebe euch allen ja recht.

    Es ist eine List of String Arrays.
    Diese werden mit 18 Einträgen erstellt.
    In die Einträge werden Daten abgelegt (Position 0), z.B. "hallo", "ich", "habe", "Mich", "oben", "falsch ausgedrückt".
    Anhand von Schublade_1_Bat_Anz kommt dann beim Zugriff heraus:

    Schublade_1_Bat_Anz(0)(0) = "hallo"
    Schublade_1_Bat_Anz(0)(1) = "ich"
    Schublade_1_Bat_Anz(0)(2) = "habe"
    Schublade_1_Bat_Anz(0)(3) = "Mich"
    Schublade_1_Bat_Anz(0)(4) = "oben"
    Schublade_1_Bat_Anz(0)(5) = "falsch ausgedrückt"


    Von dieser Art von "List of String Array" benutze ich 7 Stück.
    Diese will ich über EINEN Zugriff kollektiv ansprechen können - es müssen
    also alle 7 "List of String Array" wiederrum zu einer Collection zusammengefügt werden.

    Quasi (nicht schlagen) eine:......Trommelwirbel...."List of List of String Array".
    Diese habe ich mittlerweile so erstellt:

    VB.NET-Quellcode

    1. Dim Alle_Schubladen As New List(Of List(Of String()))
    2. Alle_Schubladen.Add(Schublade_1_Bat_Anz)
    3. Alle_Schubladen.Add(Schublade_2_Bat_Anz)


    Alle_Schubladen(0)(0)(5)) ergibt "Falsch ausgedrückt"

    Wäre das so in Ordnung ?

    Digtro_77 schrieb:

    Wäre das so in Ordnung ?
    Was soll die Frage?
    Du musst doch wissen, was für Dich in Ordnung ist. Wir können Dich nur beraten und auf Fehler hinweisen.
    Hier lag Dein Fehler offensichtlich in der verbalen Beschreibung und im Kommentar.
    Du hast gelernt, dass ein ordentlicher Kommentar essenziell wichtig für das Verständnis eines Quellcodes ist,
    insbesondere dann, wenn Du den Code in einem halben Jahr erweitern musst.
    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!
    Das ich anfangs von Arrays gesprochen habe, ist jawohl ersichtlich.
    Ansonsten könnte man ja nicht so darauf zugreifen, wie geschrieben.

    Mit: "Wäre das so in Ordnung ?" ist gemeint, ob man dies auch anders lösen könnte.

    Trotzdem danke euch allen.

    Digtro_77 schrieb:

    ist gemeint
    Das können wir leider nicht wissen, da Du Dich ja schon oben mal verdrückt ausgekehrt hast. :thumbsup:
    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!