Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

C# Dictionary spørgsmål

Af Junior Supporter sQuazEr | 05-05-2007 17:19 | 944 visninger | 6 svar, hop til seneste
Hej jeg sidder lige og kigger noget kode igennem og er løbet ind i denne her linie hullTransformed = new Dictionary(hullTransformed == null ? 0 : hullTransformed.Count); Jeg forstår godt konceptet i Dictionary, men jeg kan ikke helt gennemskue hvad det er der sker i parentesen efter new. har prøvet at se msdn igennem, men der er ikke noget som ligner en forklaring. Er der en venlig sjæl som kunne forklare mig hvad det er der sker?
--
#1
Jesper Lauridsen
Supporter Aspirant
05-05-2007 17:33

Rapporter til Admin
Den tjekker på om hullTransformed er lig 'null'. Hvis den er bliver hullTransformed sat = 0, ellers bliver den sat til hullTransformed.Count. --
--
A8N-SLI pre|AMD x2 4200+|Club3D x300SE|2x512MB
#2
sQuazEr
Junior Supporter
05-05-2007 18:05

Rapporter til Admin
Okay, men hullTransformed bliver jo lavet nu, eller tjekker den om den "beholder" hullTransformed er, inden new bliver kaldt, er tom? Eller dvs, hullTransformed indeholder allerede data inden den sættes med new? (den her funktion bliver ca kaldt en gang per update, og overskriver hullTransformed hele tiden. --
--
#3
Jesper Lauridsen
Supporter Aspirant
05-05-2007 19:12

Rapporter til Admin
Nu ved jeg ikke hvad hullTransformed er for en type (sikkert bare en int), men sådan som sætningen inde i parantesen normalt bliver brugt er til at tildele en værdi til en attribut, hvor der tjekkes på den inden den sættes. Det er i stedet for at bruge en if-sætning hvor du skriver: if(hullTransformed == null) hullTransformed = 0; else hullTransformed = hullTransformed.Count; Så i stedet for en if-sætning kan det skrives på en linje. Og ja, umiddelbart vil jeg tro at hullTransformed indeholder data inden den sættes... --
--
A8N-SLI pre|AMD x2 4200+|Club3D x300SE|2x512MB
#4
sQuazEr
Junior Supporter
05-05-2007 19:40

Rapporter til Admin
Fint, så tror jeg at jeg forstår.. Men kan bare ikke lige finde nogen dokumentation på det. Hvad kaldes den form for erklæring af værdier? (Men ellers er hulltransformed en type Dictionary) --
--
#5
Jesper Lauridsen
Supporter Aspirant
05-05-2007 20:19

Rapporter til Admin
Man støder på det en gang i mellem, men nej det er ikke noget der bliver brugt så meget. Jeg lærte det da jeg havde om C++, vidste faktisk ikke at det kunne bruges i C# også. Jeg tror bare det kaldes for 'validering'. --
--
A8N-SLI pre|AMD x2 4200+|Club3D x300SE|2x512MB
#6
sQuazEr
Junior Supporter
09-05-2007 20:17

Rapporter til Admin
Et lille tilføjelsesspørgsmål.. Jeg har brugt en Dictionary til at holde Keys af typen Vector2 og Values af typen Int. Men hvordan kan jeg køre gennem alle Keys i Dictionary og få den til at lægge en til hver value int værdier? Hvis jeg prøver med en foreach keyvaluepair i den, så kommer den med fejl om at collection has been modified, enumeration may not execute. --
--

Opret svar til indlægget: C# Dictionary spørgsmål

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning