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. General Programming
  3. C#
  4. string versus String !

string versus String !

Scheduled Pinned Locked Moved C#
questiontutorial
18 Posts 9 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.
  • S Scott Dorman

    There is no difference. string is the C# alias to String (which is really System.String). When the code compiles, all of your string types are converted to System.String in the IL. Personally, I prefer using string when I am typing a variable and String when I am acessing static members of the class. This is only personal preference as I think it makes the code easier to follow. There is nothing wrong with code like:

    bool empty = string.IsNullOrEmpty("");

    instead of

    bool empty = String.IsNullOrEmpty("");

    Scott Dorman

    Microsoft® MVP - Visual C# | MCPD President - Tampa Bay IASA [Blog][Articles][Forum Guidelines]


    Hey, hey, hey. Don't be mean. We don't have to be mean because, remember, no matter where you go, there you are. - Buckaroo Banzai

    P Offline
    P Offline
    PIEBALDconsult
    wrote on last edited by
    #9

    Scott Dorman wrote:

    I prefer using string when I am typing a variable and String when I am acessing static members of the class.

    Me too, except I type System.String.

    L 2 Replies Last reply
    0
    • _ _Q12_

      string versus String ! I have a question (a little embarrassing because I see it so late), what is the difference between String and string ? not in the way that String is a Class and string is a reference type. But rather how to think about them in the term of uses. I searched and find this piece of gold, but I don't know how to use it very well: Use "String" to refer specifically to the String class. Use "string" when referring to an object of the String class. How to use them, accordingly? thanks again.

      M Offline
      M Offline
      murktinez
      wrote on last edited by
      #10

      I'm pretty sure the only reason they have a the String class is because Java has a String class.

      1 Reply Last reply
      0
      • H humayunlalzad

        Why is the ref keyword added to String in this example. Isn't string a reference type already? I thought ref is only to make value types behave like reference types.

        S Offline
        S Offline
        Saksida Bojan
        wrote on last edited by
        #11

        humayunlalzad wrote:

        Why is the ref keyword added to String in this example. Isn't string a reference type already? I thought ref is only to make value types behave like reference types.

        I realy don't know about string, but i must have put into where i have struct type.

        1 Reply Last reply
        0
        • H humayunlalzad

          Why is the ref keyword added to String in this example. Isn't string a reference type already? I thought ref is only to make value types behave like reference types.

          L Offline
          L Offline
          Luc Pattyn
          wrote on last edited by
          #12

          Hi, I suggest you run something similar to this:

          string str="aha";
          log(str);
          func1(str);
          log(str);
          func2(ref str);
          log(str);

          private void func1(String str) {str = "Changed"; log("1 "+str);}
          private void func2(ref String str) {str = "Changed";log("2 "+str); }
          private void log(string s) {Console.WriteLine(s);}

          and think about why it behaves the way it does. :)

          Luc Pattyn [Forum Guidelines] [My Articles]


          The quality and detail of your question reflects on the effectiveness of the help you are likely to get. Show formatted code inside PRE tags, and give clear symptoms when describing a problem.


          1 Reply Last reply
          0
          • P PIEBALDconsult

            Scott Dorman wrote:

            I prefer using string when I am typing a variable and String when I am acessing static members of the class.

            Me too, except I type System.String.

            L Offline
            L Offline
            Luc Pattyn
            wrote on last edited by
            #13

            as System.Boolean.True hasn't been provided, do you also type System.Boolean.Parse(System.Boolean.TrueString) instead of true? :-D

            Luc Pattyn [Forum Guidelines] [My Articles]


            The quality and detail of your question reflects on the effectiveness of the help you are likely to get. Show formatted code inside PRE tags, and give clear symptoms when describing a problem.


            P 1 Reply Last reply
            0
            • L Luc Pattyn

              as System.Boolean.True hasn't been provided, do you also type System.Boolean.Parse(System.Boolean.TrueString) instead of true? :-D

              Luc Pattyn [Forum Guidelines] [My Articles]


              The quality and detail of your question reflects on the effectiveness of the help you are likely to get. Show formatted code inside PRE tags, and give clear symptoms when describing a problem.


              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #14

              Don't tempt me; every once in a while I think about not using any of the aliases at all (they're all just syntactic sugar after all). Unfortunately they're required to specify base types for Enumerations :mad: .

              1 Reply Last reply
              0
              • P PIEBALDconsult

                Scott Dorman wrote:

                I prefer using string when I am typing a variable and String when I am acessing static members of the class.

                Me too, except I type System.String.

                L Offline
                L Offline
                Luc Pattyn
                wrote on last edited by
                #15

                I have great news for you: System.String System.String System.String The second one has "lang=none" in the CODE tag. :)

                Luc Pattyn [Forum Guidelines] [My Articles]


                The quality and detail of your question reflects on the effectiveness of the help you are likely to get. Show formatted code inside PRE tags, and give clear symptoms when describing a problem.


                L P 2 Replies Last reply
                0
                • L Luc Pattyn

                  I have great news for you: System.String System.String System.String The second one has "lang=none" in the CODE tag. :)

                  Luc Pattyn [Forum Guidelines] [My Articles]


                  The quality and detail of your question reflects on the effectiveness of the help you are likely to get. Show formatted code inside PRE tags, and give clear symptoms when describing a problem.


                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #16

                  Cool, is stuff like that documented somewhere? (am I just bad at searching?)

                  L 1 Reply Last reply
                  0
                  • L Lost User

                    Cool, is stuff like that documented somewhere? (am I just bad at searching?)

                    L Offline
                    L Offline
                    Luc Pattyn
                    wrote on last edited by
                    #17

                    I trust it is, however for harmless things like that, I just experiment a bit. I always allow for a few minutes of heuristics before taking the scientific route. :)

                    Luc Pattyn [Forum Guidelines] [My Articles]


                    The quality and detail of your question reflects on the effectiveness of the help you are likely to get. Show formatted code inside PRE tags, and give clear symptoms when describing a problem.


                    1 Reply Last reply
                    0
                    • L Luc Pattyn

                      I have great news for you: System.String System.String System.String The second one has "lang=none" in the CODE tag. :)

                      Luc Pattyn [Forum Guidelines] [My Articles]


                      The quality and detail of your question reflects on the effectiveness of the help you are likely to get. Show formatted code inside PRE tags, and give clear symptoms when describing a problem.


                      P Offline
                      P Offline
                      PIEBALDconsult
                      wrote on last edited by
                      #18

                      Yes, Chris enlightened me about that a day or two ago. I still say that text should be the default.

                      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