Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
179
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Izzy84 Tutorials.de Gastzugang
    Hallo,

    ich hab ein Programm welches eine Liste mit Namen enthält, entweder 16 oder 32 Stück.
    Diese Liste will ich zufällig aufteilen auf viele kleinere Listen der Größe 4, quasi 4er Gruppen.
    Am Ende würde ich die ganzen 4er Listen gerne in einer übergeordneten Liste zusammenfassen, eine Liste die dann quasi alle Gruppen enthält. Derzeit schaut das so aus:

    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    private void randomGroups(List<string> listNames)
    {
        List<string> singleGroup = new List<string>();
        List<List<string>> allGroups = new List<List<string>>();
        int count = listNames.Count;
        int random;
        Random rnd = new Random();
     
        while(count > 0)
        {
            if(singleGroup.Count < 4)
            {
                random = rnd.Next(0, count - 1);
                singleGroup.Add(listNames[random]);
                listNames.RemoveAt(random);
                count--;
            }
            else
            {
                allGroups.Add(singleGroup);
                singleGroup.Clear();
            }
        }    
    }

    Das funktioniert soweit eigtl auch, ich hab am Ende, je nach Anzahl Namen, 4 oder 8 kleine Listen in der großen Liste. Allerdings sind die alle leer
    Was vermutlich daran liegt das die singleGroup hinzugefügt wird und danach geleert wird.
    Klar könnte ich jetzt 4-8 verschiedene Listen erzeugen, aber das erscheint mir etwas suboptimal.

    Daher wollte ich fragen wie ich eine kleine Liste einer großen Liste zufügen kann und danach die kleine wieder bearbeiten kann ohne das sie sich in der Großen verändert. Ein Clone() hab ich leider vergeblich gesucht bei Listen

    Man ist das blöd zu beschreiben, ich hoffe ihr versteht was ich meine...

    Grüßle
     

  2. #2
    Izzy84 Tutorials.de Gastzugang
    Argh, wenn man vor lauter Bäumen (Listen ?) den Wald nicht mehr sieht.
    Problem ist gelöst, statt:

    Code csharp:
    1
    
    allGroups.Add(singleGroup);

    Einfach:

    Code csharp:
    1
    
    allGroups.Add(new List<string>(singleGroup));

    Und schon gehts....

    Grüßle
     

Ähnliche Themen

  1. [C] struct list vs. std::list?
    Von posi90 im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 23.11.10, 19:29
  2. List<String>
    Von Cäptin Pommes im Forum C/C++
    Antworten: 19
    Letzter Beitrag: 26.05.10, 08:10
  3. "list-style-image" und "list-style-position"
    Von Harzteufel im Forum CSS
    Antworten: 4
    Letzter Beitrag: 11.02.08, 16:12
  4. List<T> speichern
    Von xbu58 im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 14.10.07, 09:52
  5. List Box
    Von blackboy im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 17.02.06, 09:49