Precisa de um freelancer, códigos-fonte e exemplos completos? Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
Parte 2 :: Variáveis, Constantes
e Tipos de Dados :: Os tipos de
dados char, string e referência
Na tabela dos tipos integrais (tipos
que não suportam partes fracionárias) tivemos
a inclusão do tipo de dados char. A
inclusão deste tipo na tabela citada se dá por
questões acadêmicas. Na verdade, se você
tentar atribuir um valor numérico a um char,
como no exemplo seguinte:
char
letra = 45;
você obterá, em tempo de compilação,
a seguinte mensagem de erro:
Char.cs(7,18):
error CS0031: Constant value '45' cannot be converted to a 'char'
Esta mensagem nos diz que o valor 45 não pode ser convertido
para um char. Uma alternativa é efetuar uma conversão
explicita de dados usando um artifício conhecido como
casting (e que será estudado mais adiante).
Veja uma nova versão do exemplo anterior:
char
letra = (char) 71;
Ao executar esta linha de código o valor 71 é
convertido para o caractere Unicode correspondente e ele é
atribuído à variável letra. Para que você
veja o resultado, considere a listagem seguinte:
using System;
class Caractere
{ static
void Main() {
char
letra = (char) 71;
Console.WriteLine("A
letra é: {0}", letra); }
}
Este código está disponível no arquivo
Char.cs. Compile-o
e, ao executa-lo você terá o seguinte resultado:
A letra é:
G
Caracteres em C# ocupam 16 bits (2 bytes). Isso quer dizer que
seus programas poderão exibir caracteres cujos códigos
variarão de 0 até 65.535, ou seja, os caracteres
e símbolos da maioria das linguagens já conhecidas.
O apêndice B "Conjunto de Caracteres ASCII"
servirá como referência quando você precisar
consultar o código decimal que representa um determinado
caractere.
O tipo de dados char é usado quando
precisamos trabalhar com texto de forma separada, ou seja, um
caractere por vez. Quando dois ou mais caracteres precisam ser
representados, entra em cena um tipo de dados comum a quase
todos os aplicativos já desenvolvidos. Este tipo de dados
se chama string.
O tipo de dados string é um tipo de
referência, ou seja, todas as vezes que uma variável
deste tipo é declarada em seus programas, o que temos
na verdade é uma referência a um objeto que encapsula
um conjunto de caracteres. Mas, como objetos serão vistos
mais adiante, vamos apenas escrever um exemplo que demonstra
seu uso. Considere a listagem seguinte:
using System;
class Leitura
{
static void Main()
{
string nome;
Console.WriteLine("Digite
seu nome:");
nome = Console.ReadLine();
Console.WriteLine("Seu
nome é: {0}", nome);
}
}
Compile este código e experimente executa-lo. Você
verá uma mensagem solicitando que digite seu nome. Ao
digitar seu nome e pressionar Enter uma nova mensagem confirma
o valor informado. Vamos ver como isso aconteceu.
O primeiro passo foi declarar uma variável do tipo string:
string nome;
Em seguida temos uma chamada ao método WriteLine
da classe Console para exibir a mensagem que
sugere a digitação do nome:
Console.WriteLine("Digite seu nome:");
O próximo passo é obter o valor que foi digitado.
Isso é feito com o método ReadLine
da classe Console, que atribui à variável
nome, todo o conteúdo digitado pelo
usuário antes de pressionar a tecla Enter:
nome
= Console.ReadLine();
Para finalizar exibimos o resultado:
Console.WriteLine("Seu
nome é: {0}", nome);
C# não aplica restrições à quantidade
de caracteres que podem estar contidos em uma string. A documentação
oficial nos informa que esta quantidade pode variar de 0 à
2 bilhões de caracteres Unicode. Se sabemos que cada
caractere ocupa 16 bits (2 bytes), então podemos afirmar
que nossas strings poderão ser tão longas quanto
a memória principal disponível suportar.
Antes de prosseguirmos tenha em mente que string
é um tipo de dados referência a objetos. Outros
tipos de referência são object,
class, interface e delegate.
Estes tipos serão apresentados mais adiante.
Todo o conteúdo deste site,
quando não devidamente observado, pertence a seus idealizadores
e não
poderá ser usado para outras finalidades senão estudo e
aprimoramento de técnicas de programação.
Certifique-se de ler asnotas legaisantes de proceder com
o acesso e leitura do
conteúdo disponibilizado nestas páginas.