Avatar billede boomshanka Nybegynder
18. april 2007 - 14:05 Der er 8 kommentarer og
1 løsning

Er udsagnet "return myvar as DateTime" i C# en form for typecast?

Hej eksperter,

Jeg er stødt på en lidt pudsig linje som har formen:

object obj = new object();
MyClass c = obj as MyClass;

(den første linje er blot for at understøtte eksemplet). Mit spørgsmål er nu om det er en anden form for typecast, og hvis det er tilfældet hvorfor man ville bruge ovenstående måde istedet for eksempelvis MyClass c = (MyClass)obj;?
Avatar billede kalp Novice
18. april 2007 - 14:08 #1
Ja det er det... men det fede er at hvis den ikke kan konvertere denne så bliver den bare null og du får ikke et dejligt crash af programmet;o)
Avatar billede kalp Novice
18. april 2007 - 14:10 #2
f.eks kunne du gøre sådan her


object obj = new object();
MyClass c = obj as MyClass;

if(c != null){
forsæt
}

ingen fejl.. ingen crash..

men almindelig typecast som

MyClassEt obj = new MyClassEt();
MyClassTo c = MyClassTo(obj); // CRASH!!!


det er forskellen i mine øjne.
Avatar billede boomshanka Nybegynder
18. april 2007 - 14:28 #3
Aha...det er måske den måde man typecaster nullable objects på?
Avatar billede kalp Novice
18. april 2007 - 14:38 #4
kan man også ja.. som jeg sagde så brokker programmet sig ikke over det:)
Avatar billede kalp Novice
18. april 2007 - 14:39 #5
men den store forskel er som sagt at den er ligeglad med hvad der står i koden... den vil prøve at lave et typecast og hvis det ikke virker så assigner den bare null istedet for at crashe
Avatar billede arne_v Ekspert
18. april 2007 - 14:49 #6
om det saa er en fordel kan man jo diskutere ...
Avatar billede kalp Novice
18. april 2007 - 14:59 #7
Ja der er jo så mange ting man kan diskutere:)
Avatar billede boomshanka Nybegynder
18. april 2007 - 15:59 #8
jeps, det giver ihvertfald lidt mening. Takker jer begge for svar og eftertanke - point er serveret :-)
Avatar billede arne_v Ekspert
21. april 2007 - 05:34 #9
det eneste tilfælde jeg lige kan komme i tanke om hvor det vil være en fordel
er ved cast fra en data reader med index hvor man kan spare et IsDBNull kald
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