View Single Post
Sitat av Jannis! Vis innlegg
Men, du kan også skrive String MyObject = "Hei", og den lager automatisk en instans av klassen string med innholdet "Hei".
Vis hele sitatet...
Enig med de fleste her, dette gir ikke mening. Og la meg forsøke å forklare hvor du tar feil. Det er ikke = "Hei" som lager en ny string i MyObject. Det er "Hei" som oppretter en ny streng, punktum! Det nye objektet (strengen) assignes så til variabelen MyObject. Det gir derfor ingen mening å overstyre assignment som noen nevnte, da assignment har kun én betydning i C# - en veldig konkret én. Og den er ikke knyttet til string eller noen annen datatype.

Det er altså "XXX" som er "konstruktøren" her. Det du kanskje kunne ønsket deg da var for eksempel å kunne instansiere regulære uttrykk med å skrive ting som /[A-Z]*/ (slik du kan i Ruby m.fl.), eller %290376-12345% for å opprette en nytt personnummer-instans osv. Og nei, det går heller ikke - da snakker vi i så fall utvidelser av selve språket.