Variablen per schleife Ansprechen

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RushDen.

    Variablen per schleife Ansprechen

    Guten Tag liebe VBP-Community,

    ich habe nach langem mal wieder eine frage.

    Erstmal zur Situation:

    Ich habe mehere Listen mit den ungefähgleichen Aufbau. Da es ja zu viel Code währe wenn man jede Liste einzelnt anspricht mit new list usw. habe ich mit gedacht dass kann man doch über eine Schleife bzw Laufvariable vereinfachen.

    C#-Quellcode

    1. //alle listen
    2. public List<string> Cat1_frage;
    3. public List<string> Cat2_frage;
    4. public List<string> Cat3_frage;
    5. public List<string> Cat4_frage;
    6. public List<string> Cat5_frage;
    7. public List<string> Cat1_antwort;
    8. public List<string> Cat2_antwort;
    9. public List<string> Cat3_antwort;
    10. public List<string> Cat4_antwort;
    11. public List<string> Cat5_antwort;
    12. public List<int> Cat1_pkt;
    13. public List<int> Cat2_pkt;
    14. public List<int> Cat3_pkt;
    15. public List<int> Cat4_pkt;
    16. public List<int> Cat5_pkt;
    17. //das soll die schleife sein.
    18. for (int i = 1; i < 6; i++)
    19. {
    20. Cat1_antwort = new List<string>(); // die 1 gegen i ersetzten
    21. Cat1_frage = new List<string>();// die 1 gegen i ersetzten
    22. Cat1_pkt = new List<int>();// die 1 gegen i ersetzten
    23. }


    wenn ihr noch Fragen habt schreibt sie.

    Ich hoffe auf eine schnelle Rückmeldung denn es ist wichtig.

    LG
    Lord C
    Meine Fragen wäre: Was ist dein Problem, was willst du machen und was soll dieser Code tuen?
    Ich sehe im Moment nur einen Haufen List(Of ), ohne jegliche Beschreibung und den Versuch die Listen per Schleife zu instanzieren, was so nicht geht.

    LG
    in die einzelnen listen werden später mit stream reader daten eingelesen.Wie die listen namen schon beschreiben fragen, antworten und punkte.

    was ich damit tun will, die listen per laufvariable ansprechen
    @Mono die Listen werden später durch einen stream reader aus einer txt datei gefüllt. Die immer diesen aufbau hat:

    Frage
    Antwort
    Punkte

    Dh gibt es die 3 Listarten. Ebenfalls sind diese Blöcke in Kategorien aufgeteilt(5)

    Der Code den ich oben gepostet habe ist dazu da, die listen zu instanzieren, hat das üblich test=new list<of>()

    Und da es ja recht viele listen sind habe ich mir gedacht dass könne man über eine Laufvariablelösen. Denn sowas will ch auch dann beim einlesen nutzen um da wieder (wenn es geht) unnötigen/zuviel code zu sparen.



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

    Brauchst ein Datenmodell.

    Soll das ein Quiz werden? Und in welcher Relation stehen Kategorieren zu Frage Antwort Punkte?
    Also logisch wäre dann eine 1:N Beziehung (eine Kategorie besitzt mehrere Fragen und eine Frage kann nur in eine Kategorie zugeordnet werden)
    Das kannst du mit nem typisierten Dataset alles modellieren (dann kannst du's auch später leicht abspeichern/editieren etc, wenn du z.B. dynamisch weitere Fragen hinzufügen willst).

    Sonst könntest du eine Klasse Kategorie machen mit den 2 Eigenschaften Name und List<Fragen> und eine Klasse Frage mit den 2 Eigenschaften Antwort und Punkte
    Dank dir Rush,

    ich werde die klassen varriante nehmen, das thema ist hiermit erledigt. Und ja es soll ein Quiz werden. Ne eigene Version von "Der Große Preis" wenn du es kennst. Das datenmodell währe zwar bequem, aber ich denke dafür dass sie bei jedem mal komplett andere Fragen, kategorien usw drinn befinden, währe ein datenmodell überzogen und für andere(außer mir) nicht anwendbar.

    LG