No desenvolvimento de software, uma tarefa comum é contar quantos caracteres (ou até caracteres específicos) estão presentes em uma string. Se você trabalha com C# e deseja realizar essa operação, vou mostrar como fazer isso de maneira simples e eficiente. Neste post, aprenda como contar char numa string em C# de forma eficiente.

Usando C# para contar caracteres em uma String

Em C#, a string é um tipo imutável, ou seja, quando você manipula uma string, na verdade, está criando uma nova instância dela. Felizmente, o C# oferece métodos poderosos para trabalhar com strings de forma eficaz.

Aqui estão algumas maneiras de contar caracteres em uma string no C#:

1. Contando o número total de caracteres

A maneira mais direta de contar o número total de caracteres em uma string é usar a propriedade .Length, que retorna o comprimento da string, ou seja, o número de caracteres que ela contém.

Exemplo:

string frase = "Olá, mundo!";
int totalCaracteres = frase.Length;
Console.WriteLine($"Número total de caracteres: {totalCaracteres}");

Saída:

Número total de caracteres: 11

Código que conta todos os caracteres, incluindo espaços e pontuações. A string “Olá, mundo!” tem 11 caracteres no total:

2. Contando a ocorrência de um caractere específico

Se você quiser contar quantas vezes um caractere específico aparece em uma string, pode usar o método Count() combinado com uma função lambda para filtrar o caractere desejado.

Exemplo:

using System;
using System.Linq;

string frase = "Olá, mundo!";
char caractereEspecifico = 'o';
int contador = frase.Count(c => c == caractereEspecifico);
Console.WriteLine($"O caractere '{caractereEspecifico}' aparece {contador} vezes.");

Saída:

O caractere 'o' aparece 2 vezes.

Neste exemplo, a função Count() percorre cada caractere da string e conta quantas vezes o caractere ‘o’ aparece.

3. Contando caracteres ignorando maiúsculas e minúsculas

O C# diferencia letras maiúsculas de minúsculas por padrão. Se você quiser contar um caractere sem considerar isso (ou seja, tratar ‘A’ e ‘a’ como iguais), pode converter a string para letras minúsculas ou maiúsculas antes de fazer a contagem.

Exemplo:

using System;
using System.Linq;

string frase = "Olá, Mundo!";
char caractereEspecifico = 'o';
int contador = frase.ToLower().Count(c => c == caractereEspecifico);
Console.WriteLine($"O caractere '{caractereEspecifico}' aparece {contador} vezes, ignorando maiúsculas e minúsculas.");

Saída:

O caractere 'o' aparece 2 vezes, ignorando maiúsculas e minúsculas.

Aqui, a string é convertida para letras minúsculas com ToLower(), garantindo que tanto ‘O’ quanto ‘o’ sejam tratados da mesma forma.

4. Contando todas as ocorrências de caracteres alfabéticos

Se você deseja contar todas as ocorrências de caracteres alfabéticos na string (ignorando espaços, pontuações e números), pode usar o método char.IsLetter() para filtrar apenas as letras.

Exemplo:

using System;
using System.Linq;

string frase = "Olá, mundo! 123";
int contadorLetras = frase.Count(c => char.IsLetter(c));
Console.WriteLine($"A frase contém {contadorLetras} letras.");

Saída:

A frase contém 9 letras.

Nesse caso, o método char.IsLetter() conta apenas os caracteres que são letras, ignorando números, espaços e símbolos.

Outro exemplo

Com o “foreach” a string é percorrida até que se ache, ou não, o caracter passado como parâmetro. Veja:

public int verifCharDig(char dig, string str) {

 int tam = str.Length; //pega o tamanho da string  
       
 //inicia variável que vai armazenar a qtde de vezes em que o char aparece na string 
 int qtde = 0; 

 foreach (char ch in str) { //percorre a string...  
		
   //se o caractere informado for igual ao caractere da posição atual da string... 
   if (ch == dig) 
     qtde++; //soma-se uma unidade a variável  
 }
     return qtde; //retorna a qtde de vezes em que o char apareceu na string  
}     
             
 /* Para usar o método, faça: *\

string palavra = textBox.Text;
   
//verifica se a qtde de caracteres ',' é maior que 1 na string
if (verifCharDig(',', palavra) > 1) 
  MessageBox.Show("Existem mais de um caractere ',' na string"); 

Contar caracteres em uma string no C# é uma tarefa simples, mas pode ser adaptada de várias formas conforme a sua necessidade.

Você pode contar todos os caracteres, caracteres específicos, ignorar maiúsculas e minúsculas ou até mesmo contar apenas caracteres alfabéticos. A linguagem C# fornece ferramentas poderosas como Length, Count() e funções auxiliares que facilitam esse processo.

Aprenda do zero ou aprimore seus conhecimentos em C#. Domine os conceitos de Orientação a Objetos e crie sistemas complexos integrados com banco de dados.

CONHEÇA O CURSO COMPLETO DE C# COM + DE 100 AULAS PRÁTICAS. Tenha acesso vitalício e certificado de conclusão.

CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:

CLIQUE AQUI E SAIBA MAIS

Dúvidas ou sugestões sobre como contar char numa string em C#? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
 https://youtube.com/criandobits

Tags:

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *