learn use c stringbuilder class
Este tutorial explica a classe C # StringBuilder e seus métodos, como acrescentar, limpar, remover, inserir, substituir e igualar em detalhes com exemplos:
A classe StringBuilder em C # funciona com a string quando o uso de operações repetitivas de string é necessário.
Uma string é imutável, ou seja, não pode ser alterada. Depois que uma determinada string é criada, ela não pode ser alterada. Qualquer alteração ou atualização na String criará um novo objeto string na memória. Como é evidente, esse comportamento prejudicará o desempenho se a operação recorrente for realizada na mesma string.
=> Confira os tutoriais aprofundados de treinamento C # aqui
A classe StringBuilder em C # visa resolver esse problema. Ele permite a alocação dinâmica de memória, ou seja, pode expandir o número de caracteres na string. Ele não cria um novo objeto de memória, em vez disso, aumenta dinamicamente o tamanho da memória para conter novos caracteres.
O que você aprenderá:
Como inicializar o C # StringBuilder?
StringBuilder é inicializado de forma semelhante a qualquer outra classe. A classe StringBuilder está presente no namespace System. O texto precisa ser importado na classe para instanciação.
Exemplo para inicialização:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
O resultado do programa acima é:
Olá
Métodos C # StringBuilder
A classe StringBuilder também oferece vários métodos diferentes para trabalhar na manipulação de strings.
# 1) Método Anexo
Conforme sugerido pelo nome, ele anexa um conjunto de caracteres ou string no final do String Builder atual. É muito útil para melhorar o desempenho quando várias concatenações de string devem ser executadas na mesma string.
Exemplo:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
O resultado do programa acima será:
Olá
Olá Mundo
como eu abro arquivos json
No programa acima, primeiro definimos uma string por meio de stringBuilder. Em seguida, usamos o Append () para concatenar outra string com a anterior. Se executarmos a linha de código antes de anexar, ela terá a saída 'Hello', mas assim que anexarmos e imprimirmos o resultado, ela imprimirá 'Hello World', ou seja, a string anterior com a string anexada.
# 2) Método de Limpeza
Este método remove todos os caracteres do StringBuilder atual. É muito útil em cenários onde precisamos obter uma string vazia ou quando precisamos limpar os dados de uma variável de string.
Exemplo:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Clear(); Console.WriteLine(strgBldr); Console.ReadLine(); } }
O resultado do programa acima é:
Olá
Olá Mundo
Quando realizamos uma operação de limpeza em StringBuilder e, em seguida, tentamos imprimir a string resultante. Obteremos um valor de string preto. No programa acima, acrescentamos o valor ao StringBuilder e imprimimos o valor no console.
Em seguida, realizamos uma operação de limpeza que removeu todo o valor de StringBuilder depois que quando tentamos imprimir, ele imprimiu um valor em branco.
# 3) Método de remoção
Remover é semelhante ao claro, mas com uma pequena diferença. Ele também remove os caracteres do StringBuilder, mas o faz dentro de um determinado intervalo, ao contrário de clear, que remove todos os caracteres presentes no StringBuilder. Remove é usado sempre que o cenário requer que o programa remova um determinado conjunto de caracteres da String em vez de toda a string.
Exemplo:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello'); Console.WriteLine(strgBldr); strgBldr.Append('World'); Console.WriteLine(strgBldr); strgBldr.Remove(2, 3); Console.WriteLine(strgBldr); Console.ReadLine(); } }
O resultado do programa acima será:
Olá
Olá Mundo
Ele mundo
Remover aceita dois parâmetros, o primeiro significa o índice inicial, ou seja, o índice do caractere de onde você deseja iniciar a remoção. O segundo parâmetro também aceita um número inteiro que significa comprimento, ou seja, o comprimento do caractere do qual você deseja remover.
No programa acima, fornecemos o índice inicial como 2 e o comprimento como três. Então, ele começou a remover o caractere do índice 2, ou seja, He'l'lo e demos o comprimento como três, então o programa removeu três caracteres de 'l', portanto, 'l l o' foi removido.
# 4) Método de inserção
Ele insere um ou mais caracteres dentro da string no índice fornecido. Também permite que o usuário especifique o número de vezes que a string ou caractere deve ser inserido no StringBuilder. Ele é usado nas condições em que os caracteres devem ser inseridos em uma determinada string em uma posição específica.
Exemplo:
class Program { publicstaticvoid Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Insert(2, '_insert_'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
O resultado do programa acima será:
Olá Mundo
He_insert_llo World
No programa acima, o método Insert é usado para inserir caracteres em um determinado índice. O método de inserção aceita dois parâmetros. O primeiro parâmetro é um número inteiro que significa o índice onde os caracteres devem ser inseridos. O segundo parâmetro aceita caracteres que o usuário deseja inserir no índice fornecido.
# 5) Método de substituição
O método replace substitui todas as ocorrências da string especificada no StringBuilder pela string ou caractere fornecido pelo usuário. Ele substitui caracteres específicos em um índice específico. Pode ser usado em cenários onde alguns dos personagens precisam ser substituídos por outro personagem.
Exemplo:
class Program { public static void Main(string() args) { StringBuilder strgBldr = new StringBuilder('Hello World'); Console.WriteLine(strgBldr); strgBldr.Replace('Hello', 'Hi'); Console.WriteLine(strgBldr); Console.ReadLine(); } }
O resultado do programa acima é:
Olá Mundo
Olá mundo
No programa acima, usamos o método Replace para substituir “Hello” por “Hi”. O método replace aceita dois parâmetros, o primeiro é a string ou caracteres que você deseja substituir e o segundo é a string ou caractere pelo qual deseja substituí-lo.
# 6) Método de igualdade
Como o nome sugere, ele valida se um StringBuilder é igual a outros ou não. Ele aceita StringBuilder como parâmetro e retorna um valor booleano com base na condição de igualdade alcançada. Este método é bastante útil se você deseja validar a condição de igualdade para dois StringBuilders.
Exemplo:
class Program { public static void Main(string() args) { StringBuilder strgBldr1 = new StringBuilder('Hello World'); StringBuilder strgBldr2 = new StringBuilder('World'); StringBuilder strgBldr3 = new StringBuilder('Hello World'); Console.WriteLine(strgBldr1.Equals(strgBldr2)); Console.WriteLine(strgBldr1.Equals(strgBldr3)); Console.ReadLine(); } }
O resultado do programa acima será:
Falso
Verdade
No programa acima, o primeiro e o terceiro objetos StringBuilder são iguais, ou seja, eles têm o mesmo valor. Portanto, quando igualamos o primeiro com o segundo, ele retornou um valor falso, mas quando igualamos o primeiro e o terceiro sendo iguais, ele retornou verdadeiro.
Conclusão
A classe StringBuilder em C # é usada para melhorar o desempenho onde várias operações em uma string são realizadas.
Sendo imutável, sempre que uma string é modificada, ela cria outro objeto string na memória. O StringBuilder visa reduzir isso.
Ele permite que o usuário execute modificações no mesmo objeto alocando memória dinâmica. Isso significa que ele pode aumentar o tamanho da memória, se necessário, para acomodar mais dados.
=> Leia o guia C # para iniciantes aqui
Leitura recomendada
- Tutorial de string C # - Métodos de string com exemplos de código
- O que é teste de comparação (aprenda com exemplos)
- Tutorial de funções / métodos C # com exemplos de código
- Interface Java e tutorial de classe abstrata com exemplos
- Threads Java com métodos e ciclo de vida
- Funções de data e hora em C ++ com exemplos
- Classificação Shell em C ++ com exemplos
- Lambdas em C ++ com exemplos