Sequências de caracteres. Visão geral.
String é uma lista (ou sequência) de caracteres em uma ordem específica. Toda a sequência de caracteres é tratada como um único objeto.
Um caractere é qualquer coisa que você pode digitar no teclado com um único toque de tecla (letra, número, reverso barra ou algum outro caractere).
Strings podem ter espaços: "Hello world!".
Uma string vazia é uma string que tem 0 caracteres.
C sharp aceita como string tudo o que está escrito entre aspas ("" ), string é do tipo string .
Importante lembrar: strings em C# são imutáveis.
Você pode escrever um novo valor em uma string usando o operador de entrada:
string s = Console.ReadLine();
Você também pode simplesmente atribuir um valor de string à variável, por exemplo:< /extensão >
string s = "C sustenido";
Você pode definir o comprimento de uma string assim:
int n = s.Length; span>
|
Ao inserir uma string, você pode dividi-la imediatamente em partes por qualquer separador.
Já fizemos isso antes quando inserimos várias variáveis numéricas na mesma linha. Usamos o método S plit() para dividir uma string em partes. Por padrão, ele separa strings em substrings por espaço.
Usando este método, você pode dividir a string em partes, por exemplo, por espaços. E escreva cada parte da string em uma variável separada.
Exemplo:
string[] S = Console.ReadLine().Split();
No exemplo, ao inserir duas palavras separadas por um espaço, a primeira palavra é armazenada no elemento zero da matriz s[0], a segunda - no segundo s[1].
Se você precisar usar vários caracteres como separadores, poderá especificá-los separados por vírgulas:
string[] S = Console.ReadLine().Split(new[] { ' ', '\n' });
Se pode haver vários espaços consecutivos na string de entrada, também podem aparecer espaços na matriz final, para excluir isso, você precisa adicionar um parâmetro:
string[] S = Console.ReadLine().Split(new[] { ' ', '\n' }, StringSplitOptions.RemoveEmptyEntries);
Se você precisar usar delimitadores de substring:
string[] S = Console.ReadLine().Split(new[] { "\\r\\n", "\r", "\n", "" }, StringSplitOptions.RemoveEmptyEntries);
|
Strings podem ser adicionadas usando o sinal "+". Essa operação é chamada de concatenação de strings ou concatenação.
Por exemplo,
string s = "Oi,";
string s1 = "mundo";
Console.WriteLine(s + s1);
A tela exibirá a frase "Hello world" (sem aspas).
|
Referenciando índices de linha
Cada caractere em uma string tem um número (chamado índice) e a indexação na linguagem de programação C# começa do zero. Ou seja, o primeiro caractere tem índice 0, o segundo - 1 e assim por diante.
Os caracteres de string podem ser acessados por índices, que são indicados entre colchetes s[i] .
Exemplo
String S |
H |
e |
l |
l |
o |
Índice |
S[0] |
S[1] |
S[2] |
S[3] |
S[4] |
Importante!
Ao acessar um elemento string no índice i , o tipo s[i] não é string mas sim char . Isso significa que não é uma string, mas um caractere que corresponde a algum número inteiro na tabela de códigos de caracteres. Em particular, quando você adiciona dois elementos do tipo char , obtém um número inteiro - a adição dos códigos desses elementos. No entanto, se você exibir s[i] , o caractere i -ésimo da string será exibido, não o número correspondente a ele.
|
Como um caractere pode ser acessado por índice, um loop variável pode ser usado para iterar todos os caracteres , que terá valores de índice possíveis. Por exemplo, um programa que exibe todos os códigos de caracteres da string s ficaria assim:
for (int i = 0; i < s.Length; i++)
{
Console.WriteLine(s[i]);
Console.WriteLine(Convert.ToInt32(s[i]));
}
Notas do programa:
1) s.Length encontra o comprimento de uma string. O índice do primeiro caractere é 0 e o índice do último é s.Length-1 . A variável de loop i apenas assumirá valores sequencialmente de 0 a s.Length -1 ;
2) em cada linha, será exibido primeiro o próprio símbolo e depois seu código, que pode ser obtido através do método Convert.ToInt32() ;
A mesma enumeração pode ser escrita mais curta:
foreach (char c in s)
{
Console.WriteLine(c);
Console.WriteLine(Convert.ToInt32(c));
}
Neste trecho, o cabeçalho do loop percorre todos os s caracteres, colocando um a um na variável c.
A peculiaridade do C# ao trabalhar com strings é que strings são objetos imutáveis. Em outras palavras, não podemos alterar caracteres individuais de uma string.
Por exemplo, a seguinte instrução não funcionará:
s[5]=" ";
|