Hvordan lage en const medlem for en uforanderlig type?

stemmer
0

Hvis du har en uforanderlig typen som dette:

struct Point3
{

}

og et medlem inne som opprinnelse:

public static const Point3 Origin = new Point3 (0,0,0);

bør du bruke:

new Point3 (0,0,0)

?

Det virker for meg at siden typen ikke kan endres, hvorfor har mange opprinnelse som er i hovedsak det samme? Som vi aldri endre 0, ikke sant?

Hvordan oppnå det samme for uforanderlige typer?

Publisert på 26/05/2009 klokken 20:38
kilden bruker
På andre språk...                            


2 svar

stemmer
7

public static readonly Point3 Origin = new Point3(0,0,0);
Svarte 26/05/2009 kl. 20:40
kilden bruker

stemmer
1

Som Andrew nevnt, kan du ikke bruke constfor dette fordi det ikke er en samle-tid konstant.

Merk at hvis du er kommer til å bruke en konstruktør gjentatte ganger, vil du være bedre (fra en forestilling synspunkt) ringer

new Point3()

enn

new Point3(0, 0, 0)

Kompilatoren vet at den første versjonen er bare kommer til å blanke ut minne, og trenger ikke å ringe noen kode.

Men jeg vil gå sammen med å gi en Originmedlem og bruker det overalt i stedet, der det er mulig :)

Svarte 26/05/2009 kl. 20:45
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more