Author: Konjerla Suresh
Since C# strings are immutable, an existing string cannot be
modified. So, if one tries to change a string either with the concatenation
operator (+) or with the
Example:
String1 s1 = “Suresh”;
String2 s2= “Kumar”;
String3 (new String) s3 = s1 + s2;
S3 -> Suresh Kumar.
Therefore, operations which would alter strings—instead—cause additional memory to be allocated. Memory is a scarce resource. And, memory allocations are expensive in terms of memory and performance. Consequently, sometimes
The
Example:
StringBuilder sb1 = “Suresh”;
sb1 -> Suresh Kumar
The String object is immutable while StringBuilder object is mutable. Both String and StringBuilder are reference type. But String acts like a value type.
StringBuilder is located in the System.Text namespace.
The performance of a concatenation operation for a String or StringBuilder object depends on the
frequency of memory allocations. A String
concatenation operation always allocates memory, whereas a StringBuilder
concatenation operation allocates memory only if the StringBuilder object
buffer is too small to accommodate the new data. Use the String class if you are concatenating a fixed number
of String objects. In that case, the compiler
may even combine individual concatenation operations into a single operation.
Use a StringBuilder object if you are concatenating an arbitrary number of
strings; for example, if you're using a loop to concatenate a random number of
strings of user input
Properties:
The following program will explaing the string builder class
using System;
using System. Text;
namespace StringBuilder_example
{
class Program
{
static void Main(string[] args)
{
StringBuilder sbstr = new StringBuilder("We are the world");
Console.WriteLine(sbstr);
In this Article I want to
explain about the string builder class. How it useful when compared with string
class
Insert
, Pad Left
, Pad Right
, Replace
, or Substring
methods, an entirely new
string is created—leaving the original string intact. Example:
String1 s1 = “Suresh”;
String2 s2= “Kumar”;
String3 (new String) s3 = s1 + s2;
S3 -> Suresh Kumar.
Therefore, operations which would alter strings—instead—cause additional memory to be allocated. Memory is a scarce resource. And, memory allocations are expensive in terms of memory and performance. Consequently, sometimes
String
class usage should be
avoided. The
StringBuilder
class is designed for
situations when one needs to work with a single string and make an arbitrary
number of iterative changes to it. Many StringBuilder
class methods are the
same as those of the String
class. However, the string content of a StringBuilder
class can be changed
without the necessity of allocating additional memory. Thus, operations on the StringBuilder
class will be much
faster than operations on the String
class in certain situation Example:
StringBuilder sb1 = “Suresh”;
StringBuilder sb2 = “Kumar”;
sb1
= sb1 + sb2;sb1 -> Suresh Kumar
The String object is immutable while StringBuilder object is mutable. Both String and StringBuilder are reference type. But String acts like a value type.
StringBuilder is located in the System.Text namespace.
Performance Considerations:
A String object
concatenation operation always creates a new object from the existing string
and the new data. A StringBuilder object maintains a buffer to accommodate the
concatenation of new data. New data is appended to the buffer if room is
available; otherwise, a new, larger buffer is allocated, data from the original
buffer is copied to the new buffer, and the new data is appended to the new
buffer.
Properties:
Name
|
Description
|
Capacity
|
Gets
or sets the maximum number of characters that can be contained in the memory
allocated by the current instance.
|
Chars
|
Gets
or sets the character at the specified character position in this instance.
|
Length
|
Gets
or sets the length of the current StringBuilder object.
|
MaxCapacity
|
Gets
the maximum capacity of this instance.
|
Methods:
Method
|
Description
|
Append
|
Appends
information to the end of the current StringBuilder.
|
AppendFormat
|
Replaces
a format specifies passed in a string with formatted text.
|
Insert
|
Inserts
a string or object into the specified index of the current StringBuilder.
|
Remove
|
Removes
a specified number of characters from the current StringBuilder.
|
Replace
|
Replaces
a specified character at a specified index.
|
ToString
|
Converts
the value of this instance to a String. (Overrides Object.ToString.)
|
Clear
|
Removes
all characters from the current StringBuilder instance.
|
The following program will explaing the string builder class
using System;
using System. Text;
namespace StringBuilder_example
{
class Program
{
static void Main(string[] args)
{
StringBuilder sbstr = new StringBuilder("We are the world");
Console.WriteLine(sbstr);
sbstr.Append (" we are the people");
Console.WriteLine(sbstr);
Console.WriteLine(sbstr);
float currency=3400.50f;
sbstr.AppendFormat(" Our individual salary : {0:C}. ", currency);
Console.WriteLine(sbstr);
sbstr.AppendFormat(" Our individual salary : {0:C}. ", currency);
Console.WriteLine(sbstr);
sbstr.Insert(11, "people of ");
Console.WriteLine (sbstr);
Console.WriteLine (sbstr);
sbstr.Remove (11, 10);
Console.WriteLine (sbstr);
Console.WriteLine (sbstr);
sbstr.Replace ("world", "Indian");
Console.WriteLine (sbstr);
Console.WriteLine (sbstr);
Console.ReadKey ();
}
}
}
}
}
}
Output :
No comments:
Post a Comment