Avatar billede thjal Nybegynder
11. januar 2008 - 12:46 Der er 7 kommentarer og
1 løsning

Opdatering af structs lagt ind i et array / eller delegation?

Jeg har en struct der ser sådan her ud:

public struct SRemember
{
    private float x;
    public float X
    {
        set {x = value;}
        get {return x;}
    }
    private float xOld;
public float Xold
{
    get {return x;}
}
}

Instanser af denne bliver brugt temmelig meget i min applikation, også temmelig spredt i applikationen (jeg mener der er mange forskellige objekter der benytter instanser af structen). Men det er sådan at et bestemt event skal få alle instanserne af denne struct til at føre deres interne variabel x over i xOld. Er der nogen der har en god ide til hvordan dette kan gøres?
Skal jeg ud i noget delegates eller er det smartere at finde på noget med et internt statisk array der indeholder en reference til hver instance?
Avatar billede thjal Nybegynder
11. januar 2008 - 13:16 #1
Eller er det enda smartere at lave structen om til class for at undgå boxing og unboxing?
Avatar billede arne_v Ekspert
11. januar 2008 - 15:14 #2
Ide:
- lav en constructor som tilfoejer this til en static List<SRemember>
- en static metode som opdaterer alle elementer i den List<>
Avatar billede thjal Nybegynder
11. januar 2008 - 16:44 #3
men en struct har jo ikke en constructor. Jeg tænker på at bruge structs da de ligger på stakken i stedet for på heapen - men det er måske underordnet?
Avatar billede arne_v Ekspert
11. januar 2008 - 16:56 #4
Du skal nok over i class.

Der er lidt forskel semantik paa struct og class, men jeg tror at du skal bruge class.
Avatar billede arne_v Ekspert
25. februar 2008 - 04:08 #5
All set ?
Avatar billede thjal Nybegynder
25. februar 2008 - 10:57 #6
nå ja - all set, drop et svar og du får point :-)
Avatar billede arne_v Ekspert
25. februar 2008 - 15:23 #7
Lagt 25/02-2008 04:08:51
Avatar billede arne_v Ekspert
05. maj 2008 - 05:56 #8
så mangler du bare at acceptere
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester