Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. c# Casting v As operator

c# Casting v As operator

Scheduled Pinned Locked Moved The Lounge
csharpquestion
117 Posts 47 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N NormDroid

    True, but you should know beforehand if the casting is correct.

    www.software-kinetics.co.uk Wear a hard hat it's under construction

    R Offline
    R Offline
    Ravi Bhavnani
    wrote on last edited by
    #20

    Norm .net wrote:

    True, but you should know beforehand if the casting is correct.

    "Should" is a dangerous word. :) A plugin discovery mechanism (that makes extensive use of reflection) I recently built assumes nothing regarding the type of object that was loaded. /ravi

    My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

    1 Reply Last reply
    0
    • N NormDroid

      For those using c#, what do you prefer? A.

      SomeObject obj = (SomeObject) e;

      or B.

      SomeObject obj = e as SomeObject;

      www.software-kinetics.co.uk Wear a hard hat it's under construction

      A Offline
      A Offline
      Aamir Butt
      wrote on last edited by
      #21

      B. Because apart from what others have mentioned in favor of b, it will automagically do a QueryInterface as well in case of a COM interface call.

      A year spent in artificial intelligence is enough to make one believe in God

      N 1 Reply Last reply
      0
      • H hairy_hats

        If a noob had asked that question in the Lounge they'd have been toast.

        N Offline
        N Offline
        NormDroid
        wrote on last edited by
        #22

        It's a debate, not a question.

        www.software-kinetics.co.uk Wear a hard hat it's under construction

        N 1 Reply Last reply
        0
        • W W Balboos GHB

          Sorry - wrong. The answer's a, because it's better.

          "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

          "As far as we know, our computer has never had an undetected error." - Weisert

          "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

          N Offline
          N Offline
          Nagy Vilmos
          wrote on last edited by
          #23

          There seems to be alot of white space in your sig.


          Panic, Chaos, Destruction. My work here is done. Drink. Get drunk. Fall over - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

          W 1 Reply Last reply
          0
          • A Aamir Butt

            B. Because apart from what others have mentioned in favor of b, it will automagically do a QueryInterface as well in case of a COM interface call.

            A year spent in artificial intelligence is enough to make one believe in God

            N Offline
            N Offline
            NormDroid
            wrote on last edited by
            #24

            Good point, I suppose not many noobies would know about QueryInterface, ah those were the days. :)

            www.software-kinetics.co.uk Wear a hard hat it's under construction

            A 1 Reply Last reply
            0
            • N NormDroid

              Good point, I suppose not many noobies would know about QueryInterface, ah those were the days. :)

              www.software-kinetics.co.uk Wear a hard hat it's under construction

              A Offline
              A Offline
              Aamir Butt
              wrote on last edited by
              #25

              Yeah... I always ended up using CComPtr to avoid reference-leak issues. MS should have banned direct use of QueryInterface and CoCreateInstance anyway. RAII should have been the way from onset.

              A year spent in artificial intelligence is enough to make one believe in God

              N 1 Reply Last reply
              0
              • N NormDroid

                For those using c#, what do you prefer? A.

                SomeObject obj = (SomeObject) e;

                or B.

                SomeObject obj = e as SomeObject;

                www.software-kinetics.co.uk Wear a hard hat it's under construction

                R Offline
                R Offline
                Richard A Dalton
                wrote on last edited by
                #26

                If an illegal cast is an exceptional (woah, that should never happen) situation, then (a) If there's a possibility that through normal use the cast might be invalid (e.g. Plug-in tpye code), then (b), followed by an If to check for Null. -Richard

                Hit any user to continue.

                N P 2 Replies Last reply
                0
                • A Aamir Butt

                  Yeah... I always ended up using CComPtr to avoid reference-leak issues. MS should have banned direct use of QueryInterface and CoCreateInstance anyway. RAII should have been the way from onset.

                  A year spent in artificial intelligence is enough to make one believe in God

                  N Offline
                  N Offline
                  NormDroid
                  wrote on last edited by
                  #27

                  I used raw COM when the COM specs where first released, wow you needed a ton of code to do a small task. But it did give me background on the workings of COM.

                  www.software-kinetics.co.uk Wear a hard hat it's under construction

                  A 1 Reply Last reply
                  0
                  • R Richard A Dalton

                    If an illegal cast is an exceptional (woah, that should never happen) situation, then (a) If there's a possibility that through normal use the cast might be invalid (e.g. Plug-in tpye code), then (b), followed by an If to check for Null. -Richard

                    Hit any user to continue.

                    N Offline
                    N Offline
                    NormDroid
                    wrote on last edited by
                    #28

                    Richard A. Dalton wrote:

                    Plug-in tpye code

                    That's the only situation I could eve think off, normally you should be aware if the cast would fail or not.

                    www.software-kinetics.co.uk Wear a hard hat it's under construction

                    1 Reply Last reply
                    0
                    • N NormDroid

                      I used raw COM when the COM specs where first released, wow you needed a ton of code to do a small task. But it did give me background on the workings of COM.

                      www.software-kinetics.co.uk Wear a hard hat it's under construction

                      A Offline
                      A Offline
                      Aamir Butt
                      wrote on last edited by
                      #29

                      Norm .net wrote:

                      wow you needed a ton of code to do a small task

                      Check the section "Master Programmer" in this link. :)[^]

                      A year spent in artificial intelligence is enough to make one believe in God

                      N 1 Reply Last reply
                      0
                      • N NormDroid

                        For those using c#, what do you prefer? A.

                        SomeObject obj = (SomeObject) e;

                        or B.

                        SomeObject obj = e as SomeObject;

                        www.software-kinetics.co.uk Wear a hard hat it's under construction

                        D Offline
                        D Offline
                        Dave Parker
                        wrote on last edited by
                        #30

                        It depends on what you're trying to do, the two things are different. If you're certain e is a SomeObject then I'd cast it. If it may or may not be I'd usually use the as keyword, in which case obj would be null if it isn't a SomeObject as opposed to throwing an exception.

                        1 Reply Last reply
                        0
                        • N Nagy Vilmos

                          There seems to be alot of white space in your sig.


                          Panic, Chaos, Destruction. My work here is done. Drink. Get drunk. Fall over - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

                          W Offline
                          W Offline
                          W Balboos GHB
                          wrote on last edited by
                          #31

                          Possibly a font-problem on your end? It looks roughly like: W**.'.** Balboos - the three punctuation-like characters being the HTML character code: & there4; (space put in after & so it doesn't render)

                          "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                          "As far as we know, our computer has never had an undetected error." - Weisert

                          "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                          N 1 Reply Last reply
                          0
                          • A Aamir Butt

                            Norm .net wrote:

                            wow you needed a ton of code to do a small task

                            Check the section "Master Programmer" in this link. :)[^]

                            A year spent in artificial intelligence is enough to make one believe in God

                            N Offline
                            N Offline
                            NormDroid
                            wrote on last edited by
                            #32

                            Oh that brings back memories, and forgetting idl files :)

                            www.software-kinetics.co.uk Wear a hard hat it's under construction

                            1 Reply Last reply
                            0
                            • W W Balboos GHB

                              Possibly a font-problem on your end? It looks roughly like: W**.'.** Balboos - the three punctuation-like characters being the HTML character code: & there4; (space put in after & so it doesn't render)

                              "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                              "As far as we know, our computer has never had an undetected error." - Weisert

                              "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                              N Offline
                              N Offline
                              Nagy Vilmos
                              wrote on last edited by
                              #33

                              Not your name, your sig:

                              W∴ Balboos wrote:

                              Possibly a font-problem on your end?
                               
                              It looks roughly like: W**.'.** Balboos - the three punctuation-like characters being the HTML character code: & there4; (space put in after & so it doesn't render)

                              "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                              "As far as we know, our computer has never had an undetected error." - Weisert

                              "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                              There's a lot of white space...


                              Panic, Chaos, Destruction. My work here is done. Drink. Get drunk. Fall over - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

                              S W 2 Replies Last reply
                              0
                              • N NormDroid

                                It's a debate, not a question.

                                www.software-kinetics.co.uk Wear a hard hat it's under construction

                                N Offline
                                N Offline
                                Nagy Vilmos
                                wrote on last edited by
                                #34

                                To be or not to be.? That is a question. :-D


                                Panic, Chaos, Destruction. My work here is done. Drink. Get drunk. Fall over - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

                                N 1 Reply Last reply
                                0
                                • N Nagy Vilmos

                                  To be or not to be.? That is a question. :-D


                                  Panic, Chaos, Destruction. My work here is done. Drink. Get drunk. Fall over - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

                                  N Offline
                                  N Offline
                                  NormDroid
                                  wrote on last edited by
                                  #35

                                  Nope wrong, you've omitted the ? mark. ;)

                                  www.software-kinetics.co.uk Wear a hard hat it's under construction

                                  N 1 Reply Last reply
                                  0
                                  • N NormDroid

                                    Nope wrong, you've omitted the ? mark. ;)

                                    www.software-kinetics.co.uk Wear a hard hat it's under construction

                                    N Offline
                                    N Offline
                                    Nagy Vilmos
                                    wrote on last edited by
                                    #36

                                    Did I?


                                    Panic, Chaos, Destruction. My work here is done. Drink. Get drunk. Fall over - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

                                    N 1 Reply Last reply
                                    0
                                    • N Nagy Vilmos

                                      Did I?


                                      Panic, Chaos, Destruction. My work here is done. Drink. Get drunk. Fall over - P O'H OK, I will win to day or my name isn't Ethel Crudacre! - DD Ethel Crudacre I cannot live by bread alone. Bacon and ketchup are needed as well. - Trollslayer Have a bit more patience with newbies. Of course some of them act dumb - they're often *students*, for heaven's sake - Terry Pratchett

                                      N Offline
                                      N Offline
                                      NormDroid
                                      wrote on last edited by
                                      #37

                                      The hand is quicker than the I eye.

                                      www.software-kinetics.co.uk Wear a hard hat it's under construction

                                      S 1 Reply Last reply
                                      0
                                      • N NormDroid

                                        a. Throw back from C++ programming.

                                        www.software-kinetics.co.uk Wear a hard hat it's under construction

                                        Q Offline
                                        Q Offline
                                        Quirkafleeg
                                        wrote on last edited by
                                        #38

                                        Wrong - a is C-style casting, not C++

                                        N S 2 Replies Last reply
                                        0
                                        • Q Quirkafleeg

                                          Wrong - a is C-style casting, not C++

                                          N Offline
                                          N Offline
                                          NormDroid
                                          wrote on last edited by
                                          #39

                                          Splitting hairs :)

                                          www.software-kinetics.co.uk Wear a hard hat it's under construction

                                          R 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups