C# Int[,]-Arrays aus objekt-Array



  • Moin moin....

    könnte mir jemand zu folgendem Problem bisschen helfen bitte.
    Ich hab mehrer Schablonen angelegt die folgendermassen ausschauen:

    private int[,] schablone_eb_1 = new int[10, 6] 
    {{ 255, 255, 0, 0, 255, 255 },
     { 255,   0, 0, 0, 255, 255 },
     {   0,   0, 0, 0, 255, 255 },
     { 255, 255, 0, 0, 255, 255 },
     { 255, 255, 0, 0, 255, 255 },
     { 255, 255, 0, 0, 255, 255 },
     { 255, 255, 0, 0, 255, 255 },
     { 255, 255, 0, 0, 255, 255 },
     { 255, 255, 0, 0, 255, 255 },
     {   0,   0, 0, 0,   0, 0 }};
    

    Alle Schablonen hab ich dann in ein Object-Array geschmissen und zwar so:

    object[] schablonen = new object[10]    {schablone_eb_0,
                                             schablone_eb_1,
                                             schablone_eb_2,
                                             schablone_eb_3,
                                             schablone_eb_4,
                                             schablone_eb_5,
                                             schablone_eb_6,
                                             schablone_eb_7,
                                             schablone_eb_8,
                                             schablone_eb_9};
    

    Mein Problem:

    for (int objcount = 0; objcount < schablonen.Length; objcount++)
    {
     // Wie bekomm ich das Int[,]-Array an der Stelle schablonen[objcount]
     // aus dem object-Array raus??
    }
    

    Kann mir einer einen Tip geben oder eine bessere Lösung.....

    Vielen Dank.



  • Entweder Du lässt foreach das erledigen:

    foreach (int[,] sch in schablonen) {
    }
    

    Oder Du castest ganz normal:

    int[,] sch = (int[,]) schablonen[i];
    


  • Ich schähm mich fast gefragt zu haben... aber hatte gerade wirklich nen Aussetzer.

    DANKE !



  • Ergänzung:
    Habe selbst etwas Recherche für die Initialisierungssyntax benötigt, aber letztlich ist es auch möglich statt des Objekt-Arrays direkt ein jagged Array aus mehrdimensionalen Arrays (mit Inhalt) zu erzeugen:

    int[][,] schablonen = { schablone_eb_0, schablone_eb_1, ...};
    

Anmelden zum Antworten