Hej! Jag forstar inte, det ar en helt vanlig deklaration du far gora. Alla variabler skapas i run-time ingen skapas nar du skriver koden. Det finns två typer av flerdimensionella arrayer, "vanliga" och jagged. En "vanlig" array deklareras : Fan, jag lyckades visst inte få ihop det ändå :-) Det här funkar inte alltså. Hur skall man göra om man vill skicka med flera argument till konstruktorn? Är det så här du vill ha det?Array med objekt
Jag vill kunna deklarera en array (gärna i flera dim) med objekt och jag vill kunna göra det medan programmet körs. Tacksam för alla tips!Sv: Array med objekt
Du behover inte heller ha en statisk storlek pa en array du kan mycket val ha en variabel som input till din deklaration for att ange hur manga element som skall skapas. Dock kanske det ar battre att kora med pekare och allokera minne utifran hur mycket plats du behover.
// JohanSv: Array med objekt
typ[,] MyArray=new typ[8,10];
och motsvarar då en 8*10 elements array. En motsvarande Jagged array deklareras :
typ[][] MyArray=new typ[3][];
MyArray[0]=new typ[1];
MyArray[1]=new typ[2];
MyArray[2]=new typ[3];
Detta blir alltså en "triangel"-array med 6 element. Första raden har 3 element, andra 2 och sista 1 element.
Byt ut ordet TYP mot den datatyp du vill, t ex om du vill ha en jagged long-array :
long[][] MyArray=new long[3][];
MyArray[0]=new long[1];
MyArray[1]=new long[2];
MyArray[2]=new long[3];
Sv:Array med objekt
Såhär ser min kod ut. Det jag vill göra är att ta emot en array layerDesign som innehåller antalet layers och noder per lager. Ex [1 2 3] är tre lager med 1,2 resp 3 noder. Sedan vill jag skicka med lagernummret då noden initieras.
for(int i=0;i<layerDesign.Length;i++)
{
int[] temp=new int[layerDesign[i]];
//Temp skall innehålla t.ex. 3 nollor om första lagret har tre noder
for (int j=0; j<layerDesign[i];j++)
{
temp[j]=i;
}
//På något sätt initiera
layout[i]=new nodes[layerDesign[i]]{temp};
}
Jag får dels inte initieringen att funka, men sen kan jag inte komma åt objektets egenskaper heller. Nu var det visserligen många år sedan jag skrev något i C++, men är det inte lättare där?Sv: Array med objekt
layout[i]=new nodes[layerDesign[i]]{temp}; Sv: Array med objekt
for(int i=0;i<layerDesign.Length;i++)
{
layout[i]=new nodes[layerDesign[i]];
for (int j=0; j<layerDesign[i];j++)
layout[i][j]=new nodes(); // Argument till konstruktorn här?
}