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. Why does C# programmers use

Why does C# programmers use

Scheduled Pinned Locked Moved The Lounge
questioncsharpc++com
25 Posts 16 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.
  • J Jorgen Sigvardsson

    this excessively? this.var = some_value; this.SomeMethod(); // yadda yadda, etc, and so forth Why? Is there some scoping rule in C# that I am not yet aware of? Last time I fiddled with C# my brain used "ordinary C++" scoping rules - and it worked. Sonorked as well: 100.13197 jorgen FreeBSD is sexy.

    K Offline
    K Offline
    Konstantin Vasserman
    wrote on last edited by
    #6

    When I can't remember the name of a member I type this. to get IntelliSense to help me. Then I go back and remove this.. I don't know why I do that. I guess, this just doesn't look good for some strange reason... :confused:

    C 1 Reply Last reply
    0
    • K Konstantin Vasserman

      When I can't remember the name of a member I type this. to get IntelliSense to help me. Then I go back and remove this.. I don't know why I do that. I guess, this just doesn't look good for some strange reason... :confused:

      C Offline
      C Offline
      Chris Maunder
      wrote on last edited by
      #7

      I'm with you, Konstantin. Superflous this's make me shudder. I will probably be scorned by the masses, but I'm going to continue using 'm_' prefixes for my member variables. cheers, Chris Maunder

      J K S A J 5 Replies Last reply
      0
      • C Chris Maunder

        I'm with you, Konstantin. Superflous this's make me shudder. I will probably be scorned by the masses, but I'm going to continue using 'm_' prefixes for my member variables. cheers, Chris Maunder

        J Offline
        J Offline
        Jason Hooper
        wrote on last edited by
        #8

        Is that more because of the force of habit, or does a need remain for the use of the m_ prefix to clarify things or help you write better code? I'm 50/50 on the matter; I've never collaborated on a project with others or worked as part of a team, so I tend to just do whatever I feel like doing at the time. - Jason (SonorkID 100.611) Veni, vidi, VC       - I came, I saw, Visual C

        C 1 Reply Last reply
        0
        • C Chris Maunder

          I'm with you, Konstantin. Superflous this's make me shudder. I will probably be scorned by the masses, but I'm going to continue using 'm_' prefixes for my member variables. cheers, Chris Maunder

          K Offline
          K Offline
          Konstantin Vasserman
          wrote on last edited by
          #9

          m_Hmm ;)

          J C 2 Replies Last reply
          0
          • K Konstantin Vasserman

            m_Hmm ;)

            J Offline
            J Offline
            Jason Hooper
            wrote on last edited by
            #10

            m_cHammer :) I actually used m_cHandle the other day and it reminded me of him - Jason (SonorkID 100.611) Veni, vidi, VC       - I came, I saw, Visual C

            A 1 Reply Last reply
            0
            • K Konstantin Vasserman

              m_Hmm ;)

              C Offline
              C Offline
              Chris Maunder
              wrote on last edited by
              #11

              lol. Good one. cheers, Chris Maunder

              1 Reply Last reply
              0
              • J Jason Hooper

                m_cHammer :) I actually used m_cHandle the other day and it reminded me of him - Jason (SonorkID 100.611) Veni, vidi, VC       - I came, I saw, Visual C

                A Offline
                A Offline
                Alvaro Mendez
                wrote on last edited by
                #12

                :laugh: m_cHammer.cantTouch(this); Regards, Alvaro A priest, a minister and a rabbi walk into a bar. The bartender says, "What is this, a joke?"

                K 1 Reply Last reply
                0
                • C Chris Maunder

                  I'm with you, Konstantin. Superflous this's make me shudder. I will probably be scorned by the masses, but I'm going to continue using 'm_' prefixes for my member variables. cheers, Chris Maunder

                  S Offline
                  S Offline
                  Simon Walton
                  wrote on last edited by
                  #13

                  Damn you VS.NET owners. Don't you realise that VS6 users are superior? Simon If I type UpdataData(FALSE) instead of UpdateData(FALSE) once more... Sonork ID 100.10024

                  C 1 Reply Last reply
                  0
                  • J Jason Hooper

                    Is that more because of the force of habit, or does a need remain for the use of the m_ prefix to clarify things or help you write better code? I'm 50/50 on the matter; I've never collaborated on a project with others or worked as part of a team, so I tend to just do whatever I feel like doing at the time. - Jason (SonorkID 100.611) Veni, vidi, VC       - I came, I saw, Visual C

                    C Offline
                    C Offline
                    Chris Maunder
                    wrote on last edited by
                    #14

                    In situations like

                    class Foo
                    {
                    protected int Field;
                    void SetField(int Field)
                    {
                    this.Field = Field;
                    }
                    }

                    Gives me the heeby jeebies. I prefer

                    class Foo
                    {
                    protected int m_iField;
                    void SetField(int Field)
                    {
                    m_iField = Field;
                    }
                    }

                    By using Hungarian in your member variables you are also never tempted to have:

                    class Foo
                    {
                    public int Field;
                    ...
                    }

                    (ie publicly accessible member variables). Sometimes public access to fields is fine (eg simple structures like points) but C# provides for properties which adds a level of future-proofing (and encapsulation) that I've found invaluable cheers, Chris Maunder

                    1 Reply Last reply
                    0
                    • J Jorgen Sigvardsson

                      this excessively? this.var = some_value; this.SomeMethod(); // yadda yadda, etc, and so forth Why? Is there some scoping rule in C# that I am not yet aware of? Last time I fiddled with C# my brain used "ordinary C++" scoping rules - and it worked. Sonorked as well: 100.13197 jorgen FreeBSD is sexy.

                      D Offline
                      D Offline
                      Daniel Ferguson
                      wrote on last edited by
                      #15

                      It sounds to me a bit like putting 'Earth' at the end of your own address. :| "I've read the Bible through a couple of times and it is a nice collection of morality stories and adventure fiction. Sort of like Huck Finn and Tom Sawyer except without the laughs." -- Michael P Butler 14 Mar '02

                      D 1 Reply Last reply
                      0
                      • D Daniel Ferguson

                        It sounds to me a bit like putting 'Earth' at the end of your own address. :| "I've read the Bible through a couple of times and it is a nice collection of morality stories and adventure fiction. Sort of like Huck Finn and Tom Sawyer except without the laughs." -- Michael P Butler 14 Mar '02

                        D Offline
                        D Offline
                        David Wulff
                        wrote on last edited by
                        #16

                        Daniel Ferguson wrote: It sounds to me a bit like putting 'Earth' at the end of your own address. That's what I do on things like CV's, quotes, etc. It may sound stupid (and childish), but I don't want to work with anyone who does not have enough of a sense of humour to appreciate that. So far it has worked to my advantage too.


                        David Wulff http://www.davidwulff.co.uk (updated) I could have created a cool signature brought to life with complex interactive DHTML, but I don't like to show off.

                        1 Reply Last reply
                        0
                        • G G Suresh

                          It is rather nice to use 'this' if you are not using the Hungarian notation. You can readily distinguish members. Another reason is that you get Intellisense support for members of the current class. Regards, Suresh

                          N Offline
                          N Offline
                          Nemanja Trifunovic
                          wrote on last edited by
                          #17

                          Exactly. That's why I often use it, even with C++. We don't use Hungarian notation where I work, and this is a little "workaround". I vote pro drink :beer:

                          1 Reply Last reply
                          0
                          • J Jorgen Sigvardsson

                            this excessively? this.var = some_value; this.SomeMethod(); // yadda yadda, etc, and so forth Why? Is there some scoping rule in C# that I am not yet aware of? Last time I fiddled with C# my brain used "ordinary C++" scoping rules - and it worked. Sonorked as well: 100.13197 jorgen FreeBSD is sexy.

                            J Offline
                            J Offline
                            Jarek G
                            wrote on last edited by
                            #18

                            Its a standard notation in oop languages a specially in Java and C# you are using namespacing in c# and in your namespace you might have some int or.. that have the same name but don't belong to the class?? The other thing is when you using this. you get intelihelp from Visual Studio :-) /Jarek "Imagination is more important than knowledge, for knowledge is limited while imagination embraces the entire world." -Albert Einstein

                            J 1 Reply Last reply
                            0
                            • S Simon Walton

                              Damn you VS.NET owners. Don't you realise that VS6 users are superior? Simon If I type UpdataData(FALSE) instead of UpdateData(FALSE) once more... Sonork ID 100.10024

                              C Offline
                              C Offline
                              Chris Maunder
                              wrote on last edited by
                              #19

                              Simon Walton wrote: If I type UpdataData(FALSE) instead of UpdateData(FALSE) once more... ROTFL!! How many times have I done that...:rolleyes: cheers, Chris Maunder

                              1 Reply Last reply
                              0
                              • A Alvaro Mendez

                                :laugh: m_cHammer.cantTouch(this); Regards, Alvaro A priest, a minister and a rabbi walk into a bar. The bartender says, "What is this, a joke?"

                                K Offline
                                K Offline
                                Konstantin Vasserman
                                wrote on last edited by
                                #20

                                LOL. :laugh:

                                1 Reply Last reply
                                0
                                • C Chris Maunder

                                  I'm with you, Konstantin. Superflous this's make me shudder. I will probably be scorned by the masses, but I'm going to continue using 'm_' prefixes for my member variables. cheers, Chris Maunder

                                  A Offline
                                  A Offline
                                  Atlantys
                                  wrote on last edited by
                                  #21

                                  it's all about the "m_" ;P it just makes sense.

                                  1 Reply Last reply
                                  0
                                  • G G Suresh

                                    It is rather nice to use 'this' if you are not using the Hungarian notation. You can readily distinguish members. Another reason is that you get Intellisense support for members of the current class. Regards, Suresh

                                    R Offline
                                    R Offline
                                    Russell Morris
                                    wrote on last edited by
                                    #22

                                    G. Suresh wrote: Another reason is that you get Intellisense support for members of the current class. True, but I've found that you can get the same thing by always prefixing your member variables with the 'm_' wart. Then, when you want to reference one, type 'm_' and then hit Ctrl+Spacebar, and IntelliSense will pop up. These days I can hit Ctrl+Space almost as fast as Alt+F+S :) -- Russell Morris "WOW! Chocolate - half price!" - Homer Simpson, while in the land of chocolate.

                                    1 Reply Last reply
                                    0
                                    • G G Suresh

                                      It is rather nice to use 'this' if you are not using the Hungarian notation. You can readily distinguish members. Another reason is that you get Intellisense support for members of the current class. Regards, Suresh

                                      J Offline
                                      J Offline
                                      Jorgen Sigvardsson
                                      wrote on last edited by
                                      #23

                                      The only names that can clash in C# are function arguments and member variables... right? Then it's very easy to spot which names are local to the member and which are local to the object/class. And "this" could very well be replaced with "m_", then there is no ambiguity (and less to type as well!) just m_ away :) Sonorked as well: 100.13197 jorgen FreeBSD is sexy.

                                      1 Reply Last reply
                                      0
                                      • C Chris Maunder

                                        I'm with you, Konstantin. Superflous this's make me shudder. I will probably be scorned by the masses, but I'm going to continue using 'm_' prefixes for my member variables. cheers, Chris Maunder

                                        J Offline
                                        J Offline
                                        Jorgen Sigvardsson
                                        wrote on last edited by
                                        #24

                                        I'm with you all the way... Sonorked as well: 100.13197 jorgen FreeBSD is sexy.

                                        1 Reply Last reply
                                        0
                                        • J Jarek G

                                          Its a standard notation in oop languages a specially in Java and C# you are using namespacing in c# and in your namespace you might have some int or.. that have the same name but don't belong to the class?? The other thing is when you using this. you get intelihelp from Visual Studio :-) /Jarek "Imagination is more important than knowledge, for knowledge is limited while imagination embraces the entire world." -Albert Einstein

                                          J Offline
                                          J Offline
                                          Jorgen Sigvardsson
                                          wrote on last edited by
                                          #25

                                          Jarek Gibek wrote: Its a standard notation in oop languages a specially in Java and C# I don't buy that. OOP is a methodology, and syntax is just a way to express it. This excessive use of "this" is just too much noice. Jarek Gibek wrote: you are using namespacing in c# and in your namespace you might have some int or.. that have the same name but don't belong to the class?? IIRC the only instance names that can clash in C# are member variables and function arguments. So I don't see how you can mistake a variable name for another (except for the member/function argument case). Jarek Gibek wrote: The other thing is when you using this. you get intelihelp from Visual Studio Ok, I'll buy that. But I'll bet you a million that "m_" is faster to type than "this." :) Sonorked as well: 100.13197 jorgen FreeBSD is sexy.

                                          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