Multidimentionelle arrays ?

Tags:    c#

Kan C# arbejde med multidim. arrays, efter formen array af arrays af arrays ?
Har ikke lige fundet noget fornuftigt på nettet. Det er til en træstruktur som jeg godt vil bevare "objektfri" af performancehensyn :-)
Mojn
/Jes



Kan kun sige selvfølgelig...

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfmultidimensionalarrays.asp

kan godt lave lidt eksempler hvis du ikke for udbytte af linket..

men er det ikke mere jagged arrays du skal bruge hvis jeg forstår dig ret..

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfJaggedArrays.asp

de er i mine øjne bedst til "træ" strukture..

Med venlig hilsen
/Jokke Jensen
www.jj-multimediedesign.dk



[Redigeret d. 28/12-04 21:42:41 af Jokke Jensen]



Kan C# arbejde med multidim. arrays, efter formen array af arrays af arrays ?
Har ikke lige fundet noget fornuftigt på nettet. Det er til en træstruktur som jeg godt vil bevare "objektfri" af performancehensyn :-)
Mojn
/Jes


Du skal bruge jagged-arrays når du laver en træstruktur; eller det er i hvertfald det nemmeste.

http://www.csharphelp.com/archives/archive93.html

http://www.csharphelp.com/archives/archive88.html

Mvh. Thomas Lykke Petersen



jeg har ikke formuleret mig korrekt, undskyld. Jeg skal bruge dynamikken fra normale c++ arrays hvor det kan lade sig gøre at placere arrays inde i arrays dynamiskt ( og pointere i arrays ). Jeg har behov for at lave om i strukturen af mine arrays uden alt for stort overhead.
Jeg har kigget lidt og jeg tror nu nok jeg ender med at lave et par klasser til formålet. Bliver nok også kønnere i enden ( og langsommere ).
Mojn
/Jes




jeg har ikke formuleret mig korrekt, undskyld. Jeg skal bruge dynamikken fra normale c++ arrays hvor det kan lade sig gøre at placere arrays inde i arrays dynamiskt ( og pointere i arrays ). Jeg har behov for at lave om i strukturen af mine arrays uden alt for stort overhead.
Jeg har kigget lidt og jeg tror nu nok jeg ender med at lave et par klasser til formålet. Bliver nok også kønnere i enden ( og langsommere ).
Mojn
/Jes


Jeg tror også jeg ville designe det du beskriver med nogle klasser. Det er selvfølgelig ikke nær så hurtigt, men hvis du anvender de statiske funktioner på System.Array objektet til at manipulerer arrays med så performer det enormt godt.

Mvh. Thomas Lykke Petersen



Jeg forstår ikke helt hvad du vil lave nogle nye klasser til, jeg mener (forudsat at jeg forstår dit spørgsmål) at al funktionaliteten allerede findes i C# og Arrays/ArrayLists i forvejen. Husk på at allle objekter i C# altid benyttes "by reference" og siden alt i C# er objekter (også Arrays og ArrayLists) så har du vel din funktionalitet lige der !!!

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Jeg forstår ikke helt hvad du vil lave nogle nye klasser til, jeg mener (forudsat at jeg forstår dit spørgsmål) at al funktionaliteten allerede findes i C# og Arrays/ArrayLists i forvejen. Husk på at allle objekter i C# altid benyttes "by reference" og siden alt i C# er objekter (også Arrays og ArrayLists) så har du vel din funktionalitet lige der !!!

(¯`·._.·[Brian Hvarregaard]·._.·´¯)


Grunden til at lave nye objekter kan jo være at slippe for at caste fra object til specifik type og derved fjerne lidt overhead.

Mvh. Thomas Lykke Petersen



Hmm..... giver det mening? man skal vel alligevel caste fra object til en specifik type inde i objektet, plus man skal til at instantiere flere objekter og får der et overhead i forbindelse med Boxing. Jeg kan helt ærligt ikke se nogen fordel i at lave egne objekter til at gemme det i.... men jeg er helt sikkert åben for eventuelle argumenter der kan overbevise mig :-)

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Hmm..... giver det mening? man skal vel alligevel caste fra object til en specifik type inde i objektet, plus man skal til at instantiere flere objekter og får der et overhead i forbindelse med Boxing. Jeg kan helt ærligt ikke se nogen fordel i at lave egne objekter til at gemme det i.... men jeg er helt sikkert åben for eventuelle argumenter der kan overbevise mig :-)

(¯`·._.·[Brian Hvarregaard]·._.·´¯)


Man skal jo ikke caste internt i objekterne hvis man ikke anvender typen object til at holde sine variabel. Jeg mener det skal være en typestærk collection. Det bliver nok lidt bedre med Generics i C# 2.0 :)

Mvh. Thomas Lykke Petersen



t