Descobrindo o comprimento de uma string

C#:
Descobrindo o comprimento de uma string

How to:

Em C#, você consegue o tamanho de uma string usando a propriedade Length. Veja alguns exemplos:

string saudacao = "Olá, mundo!";
int tamanho = saudacao.Length;
Console.WriteLine(tamanho); // Saída: 12

Se você quiser contar somente letras ou dígitos, pode usar LINQ:

string frase = "Olá, mundo! 123";
int letras = frase.Count(char.IsLetter);
Console.WriteLine(letras); // Saída: 10
int digitos = frase.Count(char.IsDigit);
Console.WriteLine(digitos); // Saída: 3

Deep Dive

Historicamente, a propriedade Length tem sido a forma padrão de se obter o tamanho de uma string em C#. Alternativas incluem métodos como StringInfo.LengthInTextElements, útil para strings com caracteres compostos ou emojis. Esse método conta elementos de texto conforme as regras do Unicode em vez de caracteres individuais.

Internamente, a string em C# é implementada como um array de caracteres Unicode (UTF-16). Portanto, Length retorna o número de Char objetos no array, o que não necessariamente corresponde ao número de pontos de código Unicode quando há caracteres compostos.

string emojiString = "👩‍👩‍👧‍👦";
Console.WriteLine(emojiString.Length); // Saída: 11 (não reflete elementos de texto real)

Para um tratamento mais preciso de strings complexas, você poderia usar:

int textElementCount = new StringInfo(emojiString).LengthInTextElements;
Console.WriteLine(textElementCount); // Saída: 1

Além do C#, outras linguagens de programação têm suas próprias maneiras de lidar com o comprimento de strings, muitas vezes levando em conta especificidades culturais e de linguagem, como caracteres chineses, que podem mudar a abordagem para contagem e manipulação.

See Also