Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Multidimensionell Array

Postades av 2003-09-08 16:19:23 - Bertil Lilja, i forum c# (c-sharp), Tråden har 13 Kommentarer och lästs av 943 personer

Hej
Skall implementera en tvådimensionell array där varje "cell" skall innehålla 3 integer värden + ett Color värde lagrat som sträng.

Performance är betydelsefullt. Finns det något bättre sätt än att använda en struct?

Mvh
/B#


Svara

Sv: Multidimensionell Array

Postades av 2003-09-08 17:19:02 - Oskar Johansson

Istället för att använda en 2-dimmad sak så kan du använda en 1-dimmas sak istället...


Svara

Sv: Multidimensionell Array

Postades av 2003-09-08 18:43:42 - Per Hultqvist

Lär knappast hjälpa mycket

Om du använder en endimensionell array som datastruktur för ovanstående problem så måste du adressera elementen enligt följande :

<code>
// första posten
int base=0;
array[base]
array[base+1]
array[base+2]
array[base+3]
// nästa post
base+=4;
array[base]
array[base+1]
array[base+2]
array[base+3]
// ... o s v
</code>

När du adresserar en tvådimensionell array så sköter kompilatorn detta själv och jag skulle tro att du inte tjänat ett dugg på detta, snarare förlorar eftersom base++ är snabbare än base+=4.

<code>
// första posten adresseras :
int base=0;
array[base,0]
array[base,1]
array[base,2]
array[base,3]
// nästa post
base++;
array[base,0]
array[base,1]
array[base,2]
array[base,3]
// ... o s v
</code>


Svara

Sv: Multidimensionell Array

Postades av 2003-09-08 20:15:31 - Oskar Johansson

Det beror nog på situationen också, någon gång skall ju x * LängdPåArrayen + y göras ändå ifall man använder t.ex. en loop...


Svara

Sv: Multidimensionell Array

Postades av 2003-09-09 02:43:40 - Per Hultqvist

Precis, och jag glömde skriva det. Det är nästan alltid bäst att låta kompilatorn göra det som den har möjlighet att göra. Det lönar sig sällan att ta jobbet ifrån kompilatorn, om kompilatorn lika gärna kunnat göra samma sak. Så att optimera genom att behandla 2-dimensionella arrayer som 1-dimensionella det tror jag sällan eller aldrig kommer att lyckas. Den som skriver en kompilator som inte effektivt tar hand om arrayer kommer aldrig att få framgång :-)


Svara

Sv: Multidimensionell Array

Postades av 2003-09-09 17:36:18 - Oskar Johansson

Hm... aja, du vinner! ;) Det är SvenPon som lyckats övertala mig... :)


Svara

Sv: Multidimensionell Array

Postades av 2003-09-10 00:40:41 - Niklas Jansson

Nja, en grej kan snabbas upp... en ren loop genom hela "matrisen" kan gå fortare. Och det är förmodligen rätt svårt att se för en kompilator att man försöker göra när man kör med två variabler.


Svara

Sv: Multidimensionell Array

Postades av 2003-09-10 07:59:40 - Bertil Lilja

Hej
Tack för synpunkter, jag går nog på tvådimensionell med en struct. Kommer dock att testa olika varianter. Återkommer i ämnet.

Mvh
/B#


Svara

Sv: Multidimensionell Array

Postades av 2003-09-10 08:11:06 - Johan Normén

OBS!

Tänk på att en struct i en array blir ett objekt. Du gör en ottrevlig casting som kan ge sämre prestanda än om du skulle köra med en class.

Bara en parantes.

//Johan N


Svara

Sv: Multidimensionell Array

Postades av 2003-09-10 11:07:13 - Mattias Sjögren

>Tänk på att en struct i en array blir ett objekt.

Beror på vilken typ av array du har. Är det en array av System.Object eller System.ValueType, så ja. Men är den en array av struct typen själv så krävs ingen boxing.


MS


Svara

Sv: Multidimensionell Array

Postades av 2003-09-10 11:38:22 - Johan Normén

Jo det är ju klart.

Tack för att du fyllde i :-)

//Johan N


Svara

Sv: Multidimensionell Array

Postades av 2003-09-10 17:19:31 - Oskar Johansson

Funderade på en sak... Kan man inte lagra integer-sakerna i strängen? Så att varje integer blir 4 tecken i strängen...


Svara

Sv: Multidimensionell Array

Postades av 2003-09-12 11:34:59 - Per Malmén

Låter som onödigt jobb att omvandla åt det hållet. Kan man inte ha färgen som heltal istället om man nu ska ha allt av samma typ.


Svara

Sv: Multidimensionell Array

Postades av 2003-09-12 17:05:15 - Oskar Johansson

I C hade det varit enkelt... ;)


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
6 491
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies