Hoje trago a vcs a segunda aula de C# modulo iniciante.

Introdução à linguagem de programação no Visual C#
Através do Visual C# Express é fácil e rápido para criar programas ou aplicações para Windows.

Mesmo se você for novo em programação Windows, com o Visual C# você não terá dificuldades pois
você tem um conjunto completo de ferramentas para simplificar o desenvolvimento.

Portanto, o que é Visual C# ?
Visual refere-se ao método usado para criar os formulários (interface gráfica do usuário ou GUI).


C# se refere à linguagem de programação do C# , uma linguagem baseada na linguagem C, mas bem mais simples.

Como funciona a programação ?
Por conta própria, um computador não é muito inteligente.

Um computador é essencialmente apenas um grupo grande de pequenos switches (chaves) eletrônicos que estão ativados ou desativados.

Configurando combinações diferentes desses switches, você pode fazer com que o computador faça alguma coisa, como por exemplo, exibir algo na tela ou emitir um som.

Isto é programação, basicamente, informar a um computador o que fazer.
Naturalmente, entender qual combinação de switches fará com que o computador faça o que você deseja seria uma tarefa muito difícil, é aí onde as linguagens de programação entram.

O que é uma linguagem de programação?
As pessoas se expressam usando uma linguagem que tem muitas palavras.
Os computadores usam uma linguagem simples que consiste apenas em 1s e 0s, com um 1 significando "ligado" e um 0 significando "desligado".

Tentar falar com um computador em seu próprio idioma seria como tentar conversar com seus amigos usando código Morse, até pode ser feito, mas por que você faria?

Uma linguagem de programação atua como um tradutor entre você e o computador.
Em vez de aprender a linguagem nativa do computador (conhecida como linguagem de máquina), você pode usar uma linguagem de programação para instruir o computador de uma maneira que é mais fácil de aprender e entender.

Um programa especializado conhecido como um compilador leva as instruções escritas na linguagem de programação e as converte em linguagem de máquina.

Isso significa que como um programador Visual C#, você não precisa compreender o que o computador está fazendo ou como ele faz isso.
Basta compreender como funciona a linguagem de programação Visual C#.

Linguagem Visual C#
O idioma que você escreve e fala tem uma estrutura.
Por exemplo, um livro tem capítulos com parágrafos que contem frases consistente com palavras. Programas escritos em Visual C# também têm uma estrutura: classes são como capítulos, procedimentos são como parágrafos e linhas de de código são como frases.

Quando você fala ou escreve, você usa diferentes categorias de palavras, como os substantivos ou os verbos.

Cada categoria é usada de acordo com um conjunto definido de regras.
Em muitos casos, o Visual C# é muito parecido com o idioma que você usa diariamente.
O Visual C# também tem regras que definem como as categorias de palavras, conhecidas como elementos de programação , são usadas para gravar programas.

Elementos de programação
Os elementos de programação do Visual C#
incluem instruções, declarações, métodos, operadores e palavras-chave.
À medida que concluir as próximas aulas, você aprenderá mais sobre esses elementos e como usálos.
O Idioma escrito e falado também tem regras, ou sintaxe, que define a ordem das palavras em uma
frase.
O Visual C# também tem a sua sintaxe, pode parecer estranho, mas é muito simples.
Por exemplo, para indicar "A velocidade máxima do meu carro é 120", você poderia 
escrever:Carrro.Velocidade.Maxima = 120; 


Representando palavras, números e variáveis Variáveis
As variáveis são um conceito importante em programação de computadores.

Uma variável é uma letra ou um nome que pode armazenar um valor.

Quando você cria um programa, você pode usar variáveis para armazenar números, como a altura de um edifício, ou palavras, como o nome de uma pessoa.

Resumindo, você pode usar variáveis para representar qualquer tipo de informação que seu programa precisa.

Você pode perguntar, "Por que usar uma variável quando posso apenas usar as informações em vez disso?"
Como o nome indica, variáveis podem alterar o valor que elas representam enquanto o programa está sendo executado.

Por exemplo, você pode escrever um programa para controlar a quantidade de doce que você tem em um pote sobre sua na mesa.

Como doce é destinado a ser comido, a quantidade de doce no pote é alterada ao longo do tempo.
Em vez de reescrever o programa sempre que você estiver com vontade de comer um doce, você pode representar a quantidade de doce com uma variável que pode mudar ao longo do tempo.

Armazenando informações em variáveis
Há três etapas para usar uma variável:
1- Declare a variável. Informe ao programa o nome e o tipo de dados que você deseja usar.
2- Atribua valor à variável. Atribua a variável um valor a ser armazenado.
3- Use a variável. Recupere o valor mantido na variável e use-o em seu programa.

Declarando variáveis
Ao declarar uma variável, você precisará decidir como nomeá-la e que tipo de dados será atribuído a ela.

Você pode nomear a variável como desejar, desde que o nome comece com uma letra ou um sublinhado.

Quando você usa um nome que descreve o que a variável está mantendo, seu código fica mais fácil de ler.

Por exemplo, uma variável que controla a quantidade de doce em um pote pode ser nomeada como totalDoce.

Você declara uma variável informando primeiro o tipo e na frente o nome da variável conforme mostrado mais abaixo.

Para entender melhor faça o seguinte:

1- Crie um novo projeto do tipo Windows Application, denominado Cursos conforme a figura abaixo 


2- Renomeie seu formulário através da janela Solution Explorer.
Basta clicar com o botão direito do mouse sobre o Form1 e selecionar a opção Rename



Altere para FrmCursos.cs



Na sequência o Visual C# pedirá a confirmação para atualizar todas as referencias, clique em sim.

Criando o formulário
2- Crie um formulário denominado frmCursos conforme a imagem abaixo



3- Configure as propriedades dos controles
3.1- Configure a propriedade Name do Form1 para frmCursos e a propriedade Text para Cadastro de Cursos
3.2- No primeiro Label configure a propriedade Name para lblCurso e a propriedade Text para Curso
3.3- No segundo Label configure a propriedade Name para lblStatus e a propriedade Text para Status:
3.3- No TextBox configure a propriedade Name para txtCurso e a propriedade Text deixe em branco
3.4- No Button configure a propriedade Name para cmdIncluir e a propriedade Text para Incluir
4- Adicione o código Após configurar as propriedades você pode adicionar o código.
De um duplo clique no botão Incluir para abrir a janela de código.


Observe que até o momento você não precisou digitar nada.

Observe tambem que ao clicar no botão foi criado automaticamente o procedimento de evento
cmdIncluir_Click

O corpo deste procedimento inicia na linha 20 e termina na linha 22

Adicione a seguinte declaração da variável (linha 21)



Esta linha de código informa ao programa que você deseja usar uma variável chamada nomeCurso e que você deseja que ela seja uma variável para armazenar strings (conjunto de caracteres).

Se necessitarmos armazenar números inteiros utilizamos o tipo int e se fosse números reais utilizamos o double.

Exemplo




Observação

Os sublinhados que estão aparecendo no momento é porque o Visual C# esta avisando que você declarou uma variável, mas não a usou para nada.

Trabalhando com variáveis

Atribuindo valores a variáveis
Você atribui um valor para sua variável com o sinal =, que tambem é chamado de operador de atribuição, conforme mostrado no exemplo a seguir nas linhas 24, 25 e 26.



Observe que os valores atribuídos são compatíveis com os tipos das variáveis.

Observação

Você pode declarar a variável em qualquer parte do código, mas é necessário primeiro declarar as variáveis para depois poder atribuir os valores a mesma.

Declarando variáveis e atribuindo um valor padrão

Como mostrado anteriormente, você pode declarar uma variável em uma linha de código e em seguida, atribuir o valor em outra linha posteriormente.

Isso pode causar um erro se você tentar usar a variável antes de atribuir um valor a ela. Por esse motivo, é recomendável declarar e atribuir valores a variáveis em uma única linha.

Mesmo se você ainda não souber o valor que variável manterá, você pode atribuir a ela um valor padrão.
O código para declarar e atribuir valores às mesmas variáveis mostradas anteriormente seria como mostrado abaixo nas linhas 21, 22 e 23.


Obtendo o valor das variáveis

Para ler ou obter o conteúdo da variável basta você referenciar a mesma pelo seu nome.

Exemplo




Comentários sobre o código acima.

- Na linha 21 declaramos uma variável denominada nomeCurso do tipo string e atribuímos um valor inicial para a mesma como uma string vazia.

- Na linha 22 estamos obtendo o valor da propriedade Text da caixa de texto txtCurso e atribuindo para a variável nomeCurso

- Na linha 23 estamos concatenando a String "Curso " com o conteúdo da variável nomeCurso e com " incluído!" e atribuindo o resultado desta concatenação para a propriedade Text do lblStatus.

Observação
Concatenar uma string equivale e "juntar" uma string

Depois basta executar seu programa, digitar o nome do curso na caixa de texto e clicar no botão Incluir.




Tipos de dados
Os tipos de dados no Visual C# determinam que tipo de dados ou valores podem ser armazenados em uma variável, bem como que dados são armazenados.

Por que existem diferentes tipos de dados ?
Imagine o seguinte: Se você tiver três variáveis, sendo duas com números enquanto a terceira contem um nome, você poderia executar cálculos usando as duas primeira, mas você não pode operações matemáticas com o nome.

Atribuindo um tipo de dados a uma variável facilita a determinar como a variável pode ou não pode
ser usada.

Tipos de dados numéricos
Todos os programas de computador trabalham com números de alguma forma ou de outra.

Como há diversas maneiras para expressar números, no Visual C# existem vários tipos de dados numéricos para lidar com números com mais eficiência.

O tipo de dados numérico que você mais usará é o int, que é usado para representar um número inteiro (um número sem um parte fracionária).

Você deve utilizar long se a variável armazenará números maiores que aproximadamente dois bilhões; caso contrário, um int é mais eficiente.

Nem todos os números são números inteiros; por exemplo, quando você dividir dois números inteiros, o resultado é geralmente um número inteiro mais uma fração (9 dividido por 2 igual 4.5).

O tipo de dados double é usado para representar números que tenham uma parte fracionária. Tipos de dados para texto

A maioria dos programas também lida com texto, ora exibindo informações para o usuário ora capturando texto inserido pelo usuário.

Texto é geralmente armazenado no tipo de dados string, que pode conter uma série de letras, números, espaços e outros caracteres.

Uma string pode ser de qualquer comprimento, de uma frase ou um parágrafo para um único caractere ou nada (um null string).

Se você precisar guardar apenas um caractere em uma única variável, você pode usar o tipo de dados char em vez de um String.


Outros tipos de dados
Além de texto e números, os programas algumas vezes precisam armazenar outros tipos de informação, como um valor verdadeiro ou falso, uma data ou dados que tem um significado especial para o programa.

Para valores que podem ser representados como Sim/Não, Verdadeiro/Falso, ou Ativado/Desativado, o Visual C# possui o tipo de dados bool.

Uma variável Boolean pode conter um dos dois valores possíveis: true ou false.

Embora você possa representar datas ou horas como números, o tipo de dados DateTime torna fácil calcular as datas ou horas, como o número de dias até que seu aniversário ou o número de minutos até o almoço.

Quando você precisa armazenar mais de um tipo de dados em uma única variável, você pode usar um tipo de dados composto.

Tipos de dados compostos incluem matrizes e classes.
Você aprenderá mais sobre esses tipos nas lições seguintes.

Finalmente, há alguns casos em que o tipo de dados que você precisa armazenar pode ser diferente em momentos diferentes.

O tipo de dados object permite que você declare uma variável e defina seu tipo de dados mais tarde.


Matrizes
Resumidamente matrizes (ou Arrays) são variáveis que representam mais de um valor do mesmo tipo.

Conforme explicado anteriormente, as variáveis são usadas para armazenar diferentes tipos de dados para uso pelo programa.

Há outro tipo de variável chamada de matriz que oferece uma maneira conveniente para armazenar diversos valores do mesmo tipo.

Por exemplo, suponha que você estava escrevendo um programa para gerenciar os cursos de uma escola.

Esta escola tem 4 cursos
VB I
VB II
C#
ASP .NET

Declarando uma matriz
Você pode criar 4 variáveis do tipo string ou você pode declarar uma matriz semelhante ao código que é mostrado a seguir.

string[] cursos;

O colchetes identifica que é um Array (matriz) Alem de declarar é necessário definir o tamanho da matriz, isto é feito utilizando a palavra chave new (que aloca espaço na memória).

Exemplo

cursos   = new string[4];

Definimos o tamanho da matriz é 4 para podermos armazenar até 4 valores, ou elementos Atribuindo valores a matrizes

Como com outros tipos de variáveis, você precisa atribuir valores para matrizes.

Para fazer isso, você refere-se ao número do elemento como parte da atribuição, conforme mostrado aqui.

cursos[0] = "VB I";
cursos[1] = "VB II";
cursos[2] = "C#";
cursos[3] = "ASP.NET";

No código anterior, o curso VB I está atribuído para o primeiro elemento da matriz (elemento 0) e o valor ASP .NET é atribuído ao quarto elemento (elemento 3).

Observação
No C# qualquer indice seja de uma matriz ou uma coleção é sempre base zero,
ou seja o primeiro elemento tem indice zero, o segundo elemento tem indice 1 e assim por diante.


Os elementos da matriz não precisam ser atribuídos na ordem e qualquer elemento não atribuído terá um valor padrão, neste caso, uma seqüência vazia.

Você tambem pode declarar e atribuir valores a uma matriz em uma única linha da seguinte maneira.

string[] cursos = {"VB I", "VBII","C#","ASP.NET"};

Nesse caso, a chaves indicam uma lista de valores a serem atribuídos.
Os valores são atribuídos aos elementos na ordem listada.
Observe que o tamanho da matriz não foi especificado.
Ele é determinado pelo número de itens que você listar.

Recuperando valores de matrizes
Da mesma forma que você usa números para especificar um item da posição em uma matriz, você use o número do elemento para especificar o valor que você deseja recuperar.

lblStatus.Text = "Cursos: " + cursos[2];

O código acima recupera o terceiro elemento da matriz e o atribui à propriedade Text de um label denominado lblStatus.


Trabalhando com expressões
Uma expressão é um segmento de código que realiza cálculos e, em seguida, retorna um valor.

Por exemplo, uma expressão simples de adição é mostrada aqui: 5 + 4

A expressão 5 + 4 retorna o valor 9 quando avaliada e consiste em duas partes: Os operandos (5 e 4), que são os valores que a operação esta utilizando e o operador (+) especifica a operação a ser desenvolvida.

Usando valores retornados por expressões
Para uma expressão ser útil, você deve fazer algo com o valor retornado.

A coisa mais comum a fazer é atribuí-lo a uma variável, conforme mostrado abaixo:

int resultado = 5+4;
lblStatus.Text = "Resultado: " + resultado;

Este exemplo declara uma variável do tipo int chamada resultado e atribui a mesma o valor retornado por 
5 + 4, na seqüencia estamos apresentando o valor em um label.

Operadores aritméticos
Um uso comum para expressões é executar cálculos em variáveis: adição, subtração, multiplicação ou divisão.

A tabela a seguir descreve os operadores usados com frequência para operações aritméticas.

Operador Descrição Exemplo
+ (adição) Retorna a soma de dois operandos 5 + 4
- (subtração) Retorna a diferença de dois operandos 5 - 4
* (multiplicação) Retorna o produto de dois operandos 5 * 4
/ (divisão) Retorna o quociente de dois operandos 5 / 4

O tipo de variável que você usa quando executa uma operação aritmética pode afetar o resultado.
Dividir dois números frequentemente dá como resultado um valor de retorno que não é um número inteiro.

Por exemplo, quando você divide 3 por 2, o resultado é 1,5.

Se você tiver atribuído o valor de retorno dessa expressão a uma variável Integer, ele deve ser arredondado para o número inteiro mais próximo, no caso 2.

Ao executar divisão, você deve usar uma variável Double para armazenar o valor de retorno.

Abaixo um exemplo de uma simples calculadora.

Crie um novo formulário denominado FrmCalculadora conforme a figura abaixo



Altere os names dos objetos
Primeira caixa de texto: txtValor1
Segunda caixa de texto: txtValor2
Botão + : cmdSomar
Botão - : cmdSubtrair
Botão * : cmdMultiplicar
Botão / : cmdDividir
Label Resultado: lblResultado
Código Fonte a ser adicionado






Observe que neste código as variáveis foram declaradas fora dos códigos de cada botão.
Foram declarados dentro do bloco da classe pois desta forma elas são validas para todos os procedimentos.

Observação
Os códigos nas linhas 21, 28, 35 e 42 não devem ser digitados, são procedimentos de eventos criados automaticamente quando você clicar sobre os respectivos botões.

Observe tambem que neste código foi utilizado o método ToDouble da classe Convert para converter o valor digitado na caixa de texto (que é do tipo string) para as variáveis que são do tipo double.

Execute a aplicação e teste os métodos.



Observação
Se você digitar qualquer caractere que não seja numérico nas caixas de texto, ocorrerá um erro.

Conversão de um tipo de variável para outro
Conforme explicado na anteriormente as variáveis podem ser de diferentes tipos.

O tipo determina o tipo de dados que uma variável pode conter.

Por exemplo uma variável Integer pode conter somente dados numéricos sem pontos decimais.

O que acontece quando você deseja exibir um Integer em um controle TextBox que requer um String?

A resposta é que os dados devem ser convertidos de um tipo para outro.

O Visual C# faz algumas conversões de forma implícita como na instrução abaixo na linha 26





Mas você não pode depender das conversões de forma implícita para todos os casos, há muitos tipos de variáveis que não podem ser convertidos automaticamente.

Portanto, é boa prática sempre utilize as funções para conversão, mesmo se uma variável seja convertida automaticamente (de forma implícita).

Por exemplo se você fizer a seguinte alteração nesta instrução  



e tentar rodar a aplicação




Nestes casos o correto é clicar no botão No e corrigir o erro.

Dica
Para localizar e corrigir o erro observe a janela Error List




Convertendo variáveis para texto
Cada variável no Visual C# pode ser convertida em texto usando um função especialchamada CStr (abreviação de Convert to String).

Essa função, como o nome indica, retorna os dados representados pela variável como uma String.

A instrução a seguir demonstra um exemplo simples de converter um int em string.

lblResultado.Text = resultado.ToString();

Além de converter variáveis int para texto, o método ToString pode ser usado em qualquer tipo numérico de dados, como double ou long.

Ele também pode ser usada para converter os tipos de dados DateTime e bool para texto.


Bem é isso pessoal, sempre continuarei essas aulas no proximo post. See you !