StringBuilder's properties for different constructors


   


using System;
using System.Text;
   
class Test {
   
  public static void DisplayProperties(string name,StringBuilder myStringBuilder) {
    // display the properties for the StringBuilder object
    Console.WriteLine(name + ".Length = " + myStringBuilder.Length);
    Console.WriteLine(name + ".Capacity = " + myStringBuilder.Capacity);
    Console.WriteLine(name + ".MaxCapacity = " + myStringBuilder.MaxCapacity);
  }
   
   
  public static void Main() {
    StringBuilder myStringBuilder = new StringBuilder();
    int capacity = 50;
    StringBuilder myStringBuilder2 = new StringBuilder(capacity);
    int maxCapacity = 100;
    StringBuilder myStringBuilder3 = new StringBuilder(capacity, maxCapacity);
    string myString = "www.kutayzorlu.com/java2s/com";
    StringBuilder myStringBuilder4 = new StringBuilder(myString);
    int startIndex = 0;
    int stringLength = myString.Length;
    StringBuilder myStringBuilder5 = new StringBuilder(myString, startIndex, stringLength, capacity);
   
    // display the StringBuilder objects' properties
    DisplayProperties("myStringBuilder", myStringBuilder);
    DisplayProperties("myStringBuilder2", myStringBuilder2);
    DisplayProperties("myStringBuilder3", myStringBuilder3);
    DisplayProperties("myStringBuilder4", myStringBuilder4);
    DisplayProperties("myStringBuilder5", myStringBuilder5);
   
  }
   
}
           
          


Demonstrating StringBuilder AppendFormat


   

    using System;
    using System.Text;

   class StringBuilderAppendFormat {
      static void Main(string[] args)
      {
         StringBuilder buffer = new StringBuilder();
         string string1, string2;

         string1 = "This {0} costs: {1:C}.
";

         object[] objectArray = new object[ 2 ];

         objectArray[ 0 ] = "Software";
         objectArray[ 1 ] = 1234.56;
         buffer.AppendFormat( string1, objectArray );

         string2 = "Number:{0:d3}.
" +
            "Number right aligned with spaces:{0, 4}.
" +
            "Number left aligned with spaces:{0, -4}.";

         buffer.AppendFormat( string2, 5 );
         Console.WriteLine(buffer.ToString());
      }
   } 

           
          


StringBuilder EnsureCapacity method

using System;
using System.Text;

class StringBuilderFeatures
{
static void Main(string[] args)
{
StringBuilder buffer =new StringBuilder( “Hello, how are you?” );

string output = “buffer = ” + buffer.ToString() +

Length = ” + buffer.Length +

Capacity = ” + buffer.Capacity;

buffer.EnsureCapacity( 75 );

output += ”

New capacity = ” +buffer.Capacity;

// truncate StringBuilder by setting Length property
buffer.Length = 10;

output += ”

New length = ” +
buffer.Length + ”
buffer = “;

// use StringBuilder indexer
for ( int i = 0; i < buffer.Length; i++ ) output += buffer[ i ]; Console.WriteLine( output); } } [/csharp]

Invalid Cast Exceptions with Implicit Operators

   
 


public class TestClass
{
    private MainClass MyMainClassObject;
   
    public TestClass()
    {
        MyMainClassObject = new MainClass();
    }
   
    public static implicit operator MainClass(TestClass Source)
    {
        return Source.MyMainClassObject;
    }
}
   
public class MainClass
{
    public static void Main()
    {
        object MyObject;
        MainClass MyMainClassObject;
   
        MyObject = new TestClass();
        MyMainClassObject = (MainClass)MyObject;
    }
}