domingo, 23 de agosto de 2009

C# - Classe StringBuilder (namespace System.Text)

Esse post não será mais atualizado nesse blog. Para visualizar esse post em seu novo endereço, acesse:
http://milaneze.com.br/post/2009/08/23/C-Classe-StringBuilder-(namespace-SystemText).aspx


O tipo string é imutável, o que significa que sempre que é usado um operador + ou += (concatenação), uma nova string é criada. O tipo StringBuilder (namespace System.Text) manipula informações de strings dinâmicas. Diferente da string comum, o tipo StringBuilder adequa sua capacidade conforme o tamanho da string vai aumentando.

Os métodos mais usados:

- Append
- AppendFormat
- Insert
- Remove
- Replace

Alguns exemplos sobre essa classe e seus principais métodos:

   1:  class Program

   2:  {

   3:      static void Main(string[] args)

   4:      {

   5:          StringBuilder buffer = new StringBuilder();

   6:   

   7:          buffer.Append(1);

   8:          buffer.Append(" - Meu");

   9:          buffer.Append(" nome");

  10:          buffer.Append(" é");

  11:   

  12:          Console.WriteLine("Buffer após Append: " + buffer.ToString());

  13:   

  14:   

  15:          buffer.AppendFormat(" {0}", "Eric");

  16:          buffer.AppendFormat(" - {0}", 1);

  17:   

  18:          Console.WriteLine("\nBuffer após AppendFormat: " + buffer.ToString());

  19:   

  20:   

  21:          StringBuilder buffer2 = new StringBuilder();

  22:   

  23:          buffer2.Insert(0, "a");

  24:          buffer2.Insert(0, 15);

  25:          buffer2.Insert(0, true);

  26:   

  27:          Console.WriteLine("\nBuffer2 após Insert: " + buffer2.ToString());

  28:   

  29:   

  30:          buffer2.Remove(0, 1);

  31:          buffer2.Remove(2, 2);

  32:   

  33:          Console.WriteLine("\nBuffer2 após Remove: " + buffer2.ToString());

  34:   

  35:   

  36:          buffer2.Replace("ru", "True ");

  37:          buffer2.Replace('5', '2');

  38:          buffer2.Replace("a", "abc");

  39:   

  40:          Console.WriteLine("\nBuffer2 após Replace: " + buffer2.ToString());

  41:   

  42:   

  43:          Console.Read();

  44:      }

  45:  }


O resultado é mostrado abaixo:

Nenhum comentário: