You must Sign In to post a response.
  • Category: .NET

    What is mutable and immutable?

    What is mutable and immutable?
  • #172436
    String is immutable
    i.e. Strings cannot be altered. When you alter a string (by adding to it for example), you are actually creating a new string.

    But StringBuilder is not immutable
    so if u have to alter a string many times, such as mutliple concatenations then use StringBuilder.

    more info



  • #172437
    An object qualifies as being called immutable if its value cannot be modified once it has been created. For example, methods that appear to modify a String actually return a new String containing the modification. Developers are modifying strings all the time in their code. This may appear to the developer as mutable - but it is not. What actually happens is your string variable/object has been changed to reference a new string value containing the results of your new string value. For this very reason .NET has the System.Text.StringBuilder class. If you find it necessary to modify the actual contents of a string-like object heavily, such as in a for or foreach loop, use the System.Text.StringBuilder class.


    Best Regards
    MVP SQL Server

  • #172579

    immutable means data value may not be changed but mutable means data value will be changed.

    thanks and regards,

  • #278671
    • Mutable & Immutable
    System.StringBuilder is mutable where variety of operations can be performed
    System.String is immutable variable value may change BUT original data value will be discarded and new value will be in memory.

  • #304413
    Simply says
    Mutable is liable to change
    Immutable is not liable to change...

  • This thread is locked for new responses. Please post your comments and questions as a separate thread.
    If required, refer to the URL of this page in your new post.