Stworzenie Listy List czyli tablicy 2n

0

Chce stworzyc dynamiczna tablicye dwuwymiarowa. W C++ moglam uzyc vectorow, tutaj nie mam niestety tego dobrodziejstwa. Gdzies wyczytalam, ze mozna to zrobic za pomoca listy.. niestety mi nie wyszlo...

Problem jest taki, ze zamiast tablicy 5x31 elementow.. stwozyla mi sie jednowymiarowa tablica 155 elementow... przynajmniej tak to wyglada jak odwolam sie do indeksow wysokich...

         
public List <Cellules> planner_tab;
public List<List <Cellules>> zewnetrzna;

public Callandier(int m, int a, int id) // konstruktor
        {
            this.mois = m;
            this.anne = a;
            this.id = id;

            // tworzenie tablicy obiektow
            planner_tab = new List<Cellules>();
            zewnetrzna = new List<List<Cellules>>();
            int y_tmp = deb_y;
            for (int i = 0; i <5; i++)
            {
            
                int x_tmp = deb_x;
            
                for (int j = 1; j <= combien_jour(); j++)
                {
                string tmp_name = "tralala " +j +i;
                JoursC obj_tabd = new JoursC(x_tmp, y_tmp, hauteur, largeur, tmp_name);
                planner_tab.Add(obj_tabd);
                x_tmp += largeur;
          
                }
            y_tmp += hauteur;
            zewnetrzna.Add(planner_tab);
            
            }                                  
        }

male wyjasnienie, Cellules jest klasa abstrakcyjna. Nie sadzilam, że to zadziala, ale sprobowlaam empirycznie i obiekty sie tworza ;D

0

Poczytaj trochę o dynamicznej alokacji pamięci i zobacz sobie jak to naprawdę robią ort!.
Możesz zrobić sobie przecież tablicę przykładowo x[5][5], w momencie gdy brakuje Ci w niej miejsca, nadpisujesz ją większą tablicą np. x[5][10] itd. a tą starą przepisujesz do tej nowej.

1
var ints = new List<List<int>>();

for (var i = 0; i < 5; i++)
{
     ints.Add(Enumerable.Range(0, 10).ToList());
}

Console.WriteLine(ints[2][7]);

1 użytkowników online, w tym zalogowanych: 0, gości: 1