Wie Array of Array mit new erstellen?
Übersicht

![]() |
DaysShadowBetreff: Wie Array of Array mit new erstellen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hiho,
Die Frage ist mir fast schon peinlich und sicher total banal aber ich bekomme es gerade nicht hin... -_- Folgendes gibt mir den Fehler "Unable to convert from Int to Int Array Array" Die auskommentierte Initialisierung funktioniert aber...ich weiß einfach nicht wo der Fehler liegt, bitte helft mir mal auf die Sprünge! BlitzMax: [AUSKLAPPEN] SuperStrict Edit: Oder muss ich blubb:int[ 2, 3 ] nutzen? Das ist aber wieder was anderes oder? MfG DaysShadow |
||
Blessed is the mind too small for doubt |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Edit: Ziehe meine Aussage zurück. | ||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
- Zuletzt bearbeitet von Jo0oker am Di, Apr 27, 2010 17:07, insgesamt einmal bearbeitet
![]() |
DaysShadow |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mir ist schon klar wie ein mehrdimensionales Array zu handhaben ist, aber sonst habe ich nur blubb:int[ 3, 2] genutzt.
blubb:int[ ][ ] scheint es aber ja auch zu geben, sonst würde das eine Beispiel ja nicht gehen, oder? Gibt es da überhaupt einen Unterschied zwischen den beiden, von der Schreibweise mal abgesehen? Ist array of array = mehrdimensionales array? Ich bin verwirrt. Edit: Andere Frage, wie kann ich blubb:int[ , ] initialisieren, also das ich direkt die Werte angebe ohne erst über new zu gehen. MfG DaysShadow |
||
Blessed is the mind too small for doubt |
![]() |
FireballFlameBetreff: Re: Wie Array of Array mit new erstellen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein "Unable to convert from Int to Int Array Array" kommt, weil der Compiler bei
BlitzMax: [AUSKLAPPEN] Local blubb:Int[ ][ ] = New Int[ 2 ][ 3 ]ein Array mit 2 Elementen macht, und dann das 3. Element davon auslesen will, bevor er es der Variable zuweist. Wenn du wirklich ein Array mit anderen Arrays drin deklarieren willst, musst du wohl erst das "äußere" Array erstellen und dessen Elementen dann in einer Schleife die inneren zuweisen. EDIT: DaysShadow hat Folgendes geschrieben: Mir ist schon klar wie ein mehrdimensionales Array zu handhaben ist, aber sonst habe ich nur blubb:int[ 3, 2] genutzt.
Ja, das eine ist eben ein zweidimensioneles Array mit Ints drin und das andere ein eindimensionales Array mit eindimensionalen Arrays drin (mit Ints drin). Erstere sind einfacher zu nutzen (wie du siehst blubb:int[ ][ ] scheint es aber ja auch zu geben, sonst würde das eine Beispiel ja nicht gehen, oder? Gibt es da überhaupt einen Unterschied zwischen den beiden, von der Schreibweise mal abgesehen? ![]() DaysShadow hat Folgendes geschrieben: Edit: Andere Frage, wie kann ich blubb:int[ , ] initialisieren, also das ich direkt die Werte angebe ohne erst über new zu gehen. Ich glaube, das geht nicht.
|
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
- Zuletzt bearbeitet von FireballFlame am Di, Apr 27, 2010 17:15, insgesamt 3-mal bearbeitet
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Arrays von Arrays kann man leider nicht mit New erstellen, da [] eine höhere Priorität hat als =. Daher interpretiert der Compiler zuerst New Int[ 2 ] und gibt dann das vierte Element (wegen [ 3 ]) zurück.
Daher musst du Arrays von Arrays händisch mit verschachtelten Schleifen intialisieren. Das kann je nach Arraygrösse enorm zeitaufwändig sein, daher würde ich mir das nochmals überlegen. DaysShadow hat Folgendes geschrieben: Gibt es da überhaupt einen Unterschied zwischen den beiden, von der Schreibweise mal abgesehen?
Den gibt es. Arrays von Arrays kann man, im Gegensatzn zu mehrdimensionalen Arrays, slicen. Ausserdem müssen einzelne Zeilen nicht unbedingt gleich lang sein; man kann sogar einzelne Zeilen sehr schnell durch andere austauschen. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
DaysShadow |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah ok, irgendein Unterschied muss ja existieren.
Also geht es nur so diese Art von Array zu erstellen: BlitzMax: [AUSKLAPPEN] Local blubb:Int[ ][ ] = [ [ 5 ], [ 3 ] ] Aber da das weitestgehend unkomfortabel ist, benutzt man dann halt die mehrdimensionalen Arrays oder halt Types so wie Jo0oker es beschrieben hat, macht Sinn. Aber das die mehrdimensionalen Arrays nicht zu initalisieren gehen ist irgendwie doof. Danke an alle, jetzt bin ich weniger verwirrt ![]() MfG DaysShadow |
||
Blessed is the mind too small for doubt |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group