Ganz viele List of STring deklarieren

  • VB.NET
  • .NET 4.5

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von Fakiz.

    Ganz viele List of STring deklarieren

    Moinsen,

    und zwar würde ich gerne viele List of Strings deklarieren.
    Meine "Vorbildzeiele" ist eine Deklarierung von sehr vielen Arrays.

    VB.NET-Quellcode

    1. Dim zahl As Integer() = Enumerable.Range(0, 100).ToArray



    Danke Lg und Frohes Neues!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Visual_Prog“ ()

    Visual_Prog schrieb:

    List of Strings

    Visual_Prog schrieb:

    Dim zahl As Integer()
    Ja was jetzt?
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Das ist unverständlich. Du sprichst von einer Mehrzahl an ​List(Of String) und deklarierst dann ein ganz normales Integer-Array.
    Unklar ist auch, wie Du was füllen möchtest.

    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 Fragen per PN, denn dafür ist das Forum da :!:

    Visual_Prog schrieb:

    Vorbildzeile
    Klick mal auf Range und drück auf F1 (= Hilfe) und lies, was in der MSDN dazu geschrieben steht.
    Beschreib mal, was bei Deinem Plan rauskommen soll.
    =====
    Dies hier funktioniert:

    VB.NET-Quellcode

    1. Dim str As String() = Enumerable.Repeat("a", 1000).ToArray()

    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).
    VB-Fragen über PN / Konversation werden ignoriert!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()

    Hi
    Vorsicht: Bei deinem Code wird ein Array deklariert, nicht viele. Das Array ist nur eine "Aneinanderreihung von einer bestimmten Zahl an Elementen" auf die durch einen Index zugegriffen werden kann. Ergo ist ein Array von Listen eine Aneinanderreihung mehrerer Listen.
    Enumerable.Range gibt dir ja eine Auflistung mit den entsprechenden Werten zurück. Du kannst folglich einfach Select aufrufen und über einen Lambda-Ausdruck (z.B. Function(i) New List(Of String()) die Listen erzeugen. Anschließend rufst du dann natürlich noch ToArray auf. Was du dann hast, ist ein Array von Listen.

    Viele Grüße
    ~blaze~
    @Visual_Prog vielleicht erklärst du uns noch, was genau du mit "ganz vielen List(Of String)" vor hast. Mit scheint als wenn hier ein Verständnisproblem vor liegt.

    In deinem Beispiel füllst du ein Integer Array mit den Zahlen von 0 - 100. Du erstellst hier nicht mehrere Arrays.

    Wenn du eine Liste mit den Zahlen von 0 - 100 haben willst kannst du diese mit einer Schleife oder ähnlichem tun. Z.B.

    For i As Integer = 0 to 100
    lstZahlen.Items.Add(i)
    Next
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    So ich muss leider korrigieren, die vorgelegte Zeile war missverständlich. Danke das fürs das Aufmerksam-machen.

    Ich habe da Kühe mit Pferden verwechselt und so mein Problem undeutlich geschildert.

    Es geh im Grunde nur um folgendes

    ich möchte mehrere List of String deklarieren. z.b. 100 Stück
    -> aber ich will nicht 100 Zeilen dafür schreiben..
    Mit welchem Zweck?
    Ansonsten würde ich halt dafür eine ​List(Of List(Of String)) bauen.

    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 Fragen per PN, denn dafür ist das Forum da :!:

    Visual_Prog schrieb:

    ich möchte mehrere List of String deklarieren. z.b. 100 Stück


    Ok, und was machst du dann mit 100 davon?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Wenn man "mehrere 100 von X" erzeugen will, dann stimmt etwas grundsätzlich mit deiner Architektur nicht außer natürlich du willst einfach den Arbeitsspeicher voll kleistern, was sich eher nach Schadsoftware anhören würde. In dem Fall wird dir hier keiner helfen
    Wenn man dir nicht alles aus der Nase ziehen müsste! ;)

    In welcher Form verarbeitest du die Dateien?
    Wie genau sieht die Liste der Dateien aus?

    Liefere die Information so präzise wie möglich, d.h. möglichst ohne "unnützes" Wissen. Liefere einen Rahmen, in dem das ganze Problem eingeschlossen werden kann und die Problemstelle, an der du festhängst zuzüglich Kontextinformationen (d.h. die Fragen aus Absatz 2).

    Viele Grüße
    ~blaze~
    So ganz verstehe ich nicht was du machen möchtest. Du darfst uns gerne noch genauer erklären was du wie machen möchtest.

    Eine List(Of ) ist eine Liste von Objekten des gleichen Datentyps (String, Integer, FileInfo, etc.). Jeder Eintrag (Item) kann durch seinen Index (.Item(Integer)) angesprochen werden.

    Möchtest du Dateien verarbeiten, lade diese in eine List(Of FileInfo). Mit einer Schleife (z.B. ForEach) kannst du dann jeden Eintrag der Liste verarbeiten.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „mrMo“ ()

    Oder verwende eine Liste und führe ne zweite für den Off-Set für die Elemente mit:

    Quellcode

    1. a (Datei1)
    2. a (Datei1)
    3. a (Datei1)
    4. b (Datei2)
    5. b (Datei2)
    6. c (Datei3)


    Die Offset-Liste

    Quellcode

    1. 0
    2. 3
    3. 2
    Also sorry das ich mich erst jetzt wieder melde, aber habe jetzt endlich das Projekt vor Augen.

    Ich habe ursprünglich mit zwei Arrays gearbeitet, die so aussehen:

    VB.NET-Quellcode

    1. Dim englisch(99) As String
    2. Dim zahlvoc As Integer() = Enumerable.Range(0, 99).ToArray

    Nach dem beschreiben des Arrays englisch kann dieser wie folgt gelesen werden:

    VB.NET-Quellcode

    1. For i = 0 To englisch.Length
    2. If Not String.IsNullOrEmpty(en(glisch(i)) Then
    3. Console.WriteLine(englisch(i))
    4. Console.ReadLine()
    5. End If
    6. Next



    --> Problem: aus Kompabilitätsgründen muss ich den Array englisch (99) durch eine Reihe an list of string(glaube list of string ist am besten hier?) ersetzen.
    Es wäre also schön, diese genauso wie das Array knapp deklarieren zu können und anschließend wie in der For-Schleife einzeln ansprechen zu können"
    Kann es sein, das du sowas wie einen Vokabeltrainer programmierst?

    Ich werf hier mal das Dictionary(Of Integer, String) in den Raum.

    -> msdn.microsoft.com/de-de/library/xfhwa508(v=vs.110).aspx
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    Visual_Prog schrieb:

    geht darum mehrere Dateien gleichzeitig zu verarbeiten / speichern.
    Dann mach Dir eine Klasse, die eine Datei verarbeitet und von dieser Klasse machst Du 100 Instanzen.
    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Es wäre also schön, diese genauso wie das Array knapp deklarieren zu können und anschließend wie in der For-Schleife einzeln ansprechen zu können"


    Beispiel

    C#-Quellcode

    1. // Array instanzieren
    2. List<string>[] lstVocable = new List<string>[99];
    3. // Array befüllen
    4. lstVocable = lstVocable.Select(x => new List<string>()).ToArray();
    5. // Liste befüllen
    6. foreach (List<string> lst in lstVocable)
    7. for (int i = 0; i < 99; i++)
    8. lst.Add(i.ToString());
    9. // Werte ausgeben
    10. for (int i = 0; i < lstVocable[0].Count; i++)
    11. Console.WriteLine("Indexer {0} == {1}", i, lstVocable[0][i]);