Newer StringBuilder? How to set String to null safely?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • raylopez99

    Newer StringBuilder? How to set String to null safely?

    I see that String and StringBuilder in C# / C++ do not have an easy
    way to set a string to null or zero length, once it is instantiated.

    Apparently some variant of the .NET languages do (reading between the
    lines from another fragment I found).

    So the problem is to do this quickly (of course it can be done in a
    roundabout manner), using either StringBuilder or String. I'm using
    C#.NET version 2.0 (Visual Studio 2005). It looks like possibly
    there's a new string class introduced in version 3.0 that has
    a .remove or .clear public method?!

    Ray Lopez

    //////////////////// start

    StringBuilder myString = new StringBuilder(" Hello");

    myString.Append (" World!");

    Console.WriteLi ne("write out your string: {0}", myString); //Hello
    World!

    myString = null; //the intent here is to reset the string to a "" or
    zero length string; obviously this is not the way to do this, as you
    get a run-time error

    Console.WriteLi ne(myString==nu ll); // you get output: "True", since
    myString is now null.

    // this next line won't work--gives a runtime error, so the question
    is: how to reset your string?

    // myString.Append ("my new string text for myString here, but gives a
    runtime error!");

    //////////////////// end

  • Jerry Coffin

    #2
    Re: Newer StringBuilder? How to set String to null safely?

    In article <33bb43cf-5578-436a-ac14-
    adb1dc4bfb8e@a1 g2000hsb.google groups.com>, raylopez99@yaho o.com says...
    I see that String and StringBuilder in C# / C++ do not have an easy
    way to set a string to null or zero length, once it is instantiated.
    There is no such thing as a StringBuilder in C++ (unless it's something
    you've written yourself). It looks like you've been taken in by
    Microsoft's misleading labeling -- they have something the call C++/CLI,
    which seems like it should be C++, but really includes lots of things
    that aren't parts of C++ at all (including something named
    StringBuilder).

    There's probably some newsgroup with a name like
    microsoft.publi c.vc.language where this would be topical.

    --
    Later,
    Jerry.

    The universe is a figment of its own imagination.

    Comment

    • Giovanni Dicanio

      #3
      Re: Newer StringBuilder? How to set String to null safely?


      "raylopez99 " <raylopez99@yah oo.comha scritto nel messaggio
      news:33bb43cf-5578-436a-ac14-adb1dc4bfb8e@a1 g2000hsb.google groups.com...
      >I see that String and StringBuilder in C# / C++ do not have an easy
      way to set a string to null or zero length, once it is instantiated.
      StringBuilder myString = new StringBuilder(" Hello");
      >
      myString.Append (" World!");
      myString = null; //the intent here is to reset the string to a "" or
      zero length string; obviously this is not the way to do this, as you
      get a run-time error
      I'm not expert of C#, but would it be possible to do just:

      myString = new StringBuilder() ;


      Giovanni


      Comment

      • David Wilkinson

        #4
        Re: Newer StringBuilder? How to set String to null safely?

        Jerry Coffin wrote:
        There is no such thing as a StringBuilder in C++ (unless it's something
        you've written yourself). It looks like you've been taken in by
        Microsoft's misleading labeling -- they have something the call C++/CLI,
        which seems like it should be C++, but really includes lots of things
        that aren't parts of C++ at all (including something named
        StringBuilder).
        >
        There's probably some newsgroup with a name like
        microsoft.publi c.vc.language where this would be topical.
        ray:

        It is almost always a serious blunder to cross-post anything to both the
        Microsoft and comp.lang groups. The folks at the latter are just too touchy (and
        I think correctly so).

        Even if your original question is culture-agnostic, the thread will invariably
        stray into forbidden territory. In these cases, multi-posting (despite its evil
        reputation) works better. [Multi-posting to different Microsoft groups is
        however A Bad Thing.]

        In this case, your question was out of line at comp.lang.c++ because it was a
        question about C++/CLI, which is a different language from C++. You got the
        right Microsoft group though :-).

        --
        David Wilkinson
        Visual C++ MVP

        Comment

        • Patrice

          #5
          Re: Newer StringBuilder? How to set String to null safely?

          Perhaps not the appropriate group. You should likely try a C# group instead
          such as microsoft.publi c.dotnet.langua ges.csharp

          In addtion to creating a new stringbuilder, it looks like myString.Length =0
          should work according to the documentation (myString being actually a
          StringBuilder object).

          For a String I'm not sure what is your problem. I believe you may have some
          confusion between the string and the stringbuilder you called myString ?...


          --
          Patrice


          "raylopez99 " <raylopez99@yah oo.coma écrit dans le message de groupe de
          discussion :
          33bb43cf-5578-436a-ac14-adb1dc4bfb8e...le groups.com...
          I see that String and StringBuilder in C# / C++ do not have an easy
          way to set a string to null or zero length, once it is instantiated.
          >
          Apparently some variant of the .NET languages do (reading between the
          lines from another fragment I found).
          >
          So the problem is to do this quickly (of course it can be done in a
          roundabout manner), using either StringBuilder or String. I'm using
          C#.NET version 2.0 (Visual Studio 2005). It looks like possibly
          there's a new string class introduced in version 3.0 that has
          a .remove or .clear public method?!
          >
          Ray Lopez
          >
          //////////////////// start
          >
          StringBuilder myString = new StringBuilder(" Hello");
          >
          myString.Append (" World!");
          >
          Console.WriteLi ne("write out your string: {0}", myString); //Hello
          World!
          >
          myString = null; //the intent here is to reset the string to a "" or
          zero length string; obviously this is not the way to do this, as you
          get a run-time error
          >
          Console.WriteLi ne(myString==nu ll); // you get output: "True", since
          myString is now null.
          >
          // this next line won't work--gives a runtime error, so the question
          is: how to reset your string?
          >
          // myString.Append ("my new string text for myString here, but gives a
          runtime error!");
          >
          //////////////////// end
          >

          Comment

          • raylopez99

            #6
            Re: Newer StringBuilder? How to set String to null safely?

            On Jul 2, 10:07 am, "Patrice" <http://www.chez.com/scribe/wrote:
            Perhaps not the appropriate group. You should likely try a C# group instead
            such as microsoft.publi c.dotnet.langua ges.csharp
            >
            In addtion to creating a new stringbuilder, it looks like myString.Length =0
            should work according to the documentation (myString being actually a
            StringBuilder object).
            >
            Yes, StringBuilder.l ength = 0 looks like it might set the string to
            zero length.

            Thanks!

            Sorry for the cross-post, but I did get a useful answer, which says
            something...

            RL

            Comment

            Working...