C# - Array - Hvordan?

Tags:    c#

Hej alle sammen.

Jeg er ved at lege lidt med C#, men kan ikke helt finde ud af hvordan array helt præcist virker i C#.

Jeg skal lave noget ala det som vist her (dog vist i PHP):

Fold kodeboks ind/udPHP kode 


Ville være dejligt hvis der var en som kunne omskrive den til C# kode :)



Indlæg senest redigeret d. 17.03.2009 08:41 af Bruger #8254
5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Tjah, det der ville nok nemmest gøres med noget i stil af dette (forudsat du bruger mindst .Net 2.0 samt C# 2.0)

Fold kodeboks ind/udKode 


Det ser lidt klumpet ud, men hvis du vil have strenge som "nøgler"/indekser i arrays/lister - så skal du desværre have fat i denne lidt, besværlige løsning. For at skrælle eksemplet lidt af, så har vi fat i 2 klasser:

List<T>
Dictionary<TKey,TValue>

(Læs dette som "Liste af T" og "Dictionary af TKey og TValue").

T (samt TKey og TValue) er her en type, og denne defineres først når vi endeligt bestemmer os for hvad vi skal bruge. Jeg har her valgt følgende:

Dictionary af string og string. I dette tilfælde betyder det at nøglerne i vores Dictionary (læs det som et opslagsværk, ligesom en ordbog, du slår op under et ord og du får et ord tilbage, groft sagt) er strenge og det er værdierne også.

Det der så helt slår luften væk under en er nu at vi opretter en List af T, hvor T er Dictionary af string og string (dvs. Dictionary<string, string> hvilket giver denne meget næsten ulæselige syntaks der giver en lyst til at binde sig selv fast til sin stol og slå kolbøtter.

Jeg håber eksemplet kan bruges til noget, du kan evt. læse artiklen jeg har skrevet her på udvikleren omkring generics.

http://www.udvikleren.dk/DotNet/Article.aspx/278/



Der er mange forskellige måder at gøre det på, og mange forskellige data strukturer at bruge. Problemet med et array er at det har en bestemt størrelse, og det er dyrt at udvidde det til at indeholde flere elementer. I stedet kan du bruge en liste, den kan du tilføje alt det til du vil.

Jeg er ikke en haj til PHP, så jeg aner ikke hvad det er du skriver (er det et multidimensionelt array?). Du bør nok overveje at lave en liste med structs eller klasser i for at kunne bruge det til data binding e.l.



Hej Brian.

Ja, det er en form for multi-dimensionalt array jeg ønsker at lave, men hvis du har en bedre metode, så må du meget gerne komme med et kode eksempel :)



Jeg er godt nok ikke skarp til php, men for mig ligner det lidt at det er et Dictionary du leder efter..?
http://msdn.microsoft.com/en-us/library/xfhwa508.aspx
(der er kode eksempler længere nede på siden :))



t