Linguagem
C# - Conceitos Iniciais
A linguagem C# é muito
parecida com a linguagem Pascal, sendo totalmente orientada a objetos, criada
pela Microsoft e faz parte da plataforma .NET. O C# foi baseado na linguagem
C++ e Java.
A linguagem C# foi
desenvolvida principalmente pelo Anders Heilsberg, que curiosamente o mesmo era
um dos desenvolvedores dos compiladores da Borland, sendo sua principal criação
o Delphi.
Conceitos
primordiais de um programa escrito em C#
Começaremos com o
conhecidíssimo “Alô Mundo”, para isto abra o Visual Studio 2010 escolha
“File/New/Project...”. Veremos que a plataforma .NET nos fornece uma gama
enorme de linguagens e plataformas para o desenvolvimento, mas focaremos apenas
na linguagem C# utilizando formulários baseados em Windows, os denominados
“Windows Forms”.
Figura 01: Novo Projeto em Windows Forms.
Podemos ver que existem
uma quantidade enorme de informações importantes nesta janela, mas não se
preocupem que estarei explicando tudo.
Installed
Templates: São as plataformas e linguagens existem no .NET,
que no nosso caso utilizaremos o “Visual C#” e o “Windows”.
.NET
Framework 4: Na região superior temos uma lista de
Frameworks suportados pelo Visual Studio, recomendo a utilização do último, a
versão 4.
Windows
Forms Application: Selecionamos este tipo de Aplicação,
pois trabalharemos em formulários baseados no Sistema Operacional Windows.
Name:
Indica
o nome do nosso projeto, no caso deixemos como Artigo_01.
Location:
O
diretório onde o exemplo está localizado.
Solution:
Permite
escolher para adicionar um projeto a uma solução existente ou criar uma nova.
Solution
name: Caso escolha para criar uma nova solução, esta opção
será desabilitada, no caso nosso escolheremos o nome de “Curso”.
Após realizar estes
procedimentos clique no botão Ok. A Figura 02 nos proporciona a hierarquia do
programa, notem que possuímos uma Solução e logo em seguida um pacote de itens,
que seria a “grosso modo” nosso programa.
Figura 02: Solution Explorer.
Vejamos mais detalhes
abaixo:
Properties:
Nas
propriedades temos informações da solução e do projeto. Em AssemblyInfo teremos todos os detalhes, como: Título, Descrição,
Tipos de Configurações, Nome da Companhia e tipos de Versões. Podemos manipular
todos estes tipos de informações neste arquivo. Em Resources, são os conhecidos recursos. Ali dentro temos a
possibilidade de criar diversos tipos de recursos como: Imagens, textos ou
ícones. Já em Settings, como o
próprio nome já diz, é o arquivo de configuração e é normalmente utilizado para
configurações de Banco de Dados.
References:
Onde
estão localizadas todas as referências do projeto, ou seja, todos os Namespaces,
as classes necessárias para o funcionamento de um programa. Explicarei um pouco
mais adiante. Só para ter uma ideia, para que funcione um Form do Windows é
necessário ter declarado a referência “System.Windows.Forms”. Em um projeto
podemos adicionar vários tipos de referências.
Form1.cs:
É
o formulário propriamente dito, onde temos todas as propriedades e métodos.
Iremos trabalhar nele daqui a pouco.
Program.cs:
Esta
classe é automaticamente criada pelo Visual Studio. Abaixo uma explicação mais
detalhada:
using System;
using
System.Collections.Generic;
using System.Linq;
using
System.Windows.Forms;
namespace Curso
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
Veremos a cláusula using que serve para declarar os
namespaces utilizados pelo programa, logo em seguida o namespace que seria o
nome do Assembly, neste caso deixe como Curso. Dentro de um namespace podemos
ter inúmeras classes, sendo necessário ter uma classe e um método principal,
sendo a classe Program e o método
estático Main. O método Main seria a
porta de entrada e saída de um programa escrito em C#. Este método necessariamente
deve estar inserido dentro de uma classe. Ele automaticamente é invocado pelo
compilador no momento que iniciar o programa.
A estrutura de um
programa em C# é a seguinte:
Observem que o método
Main possui algumas linhas de código criadas automaticamente pelo Visual Studio
pelo fato de estarmos trabalhando com Formulários em Windows, os denominados
“Windows Forms”. Sendo:
Application.EnableVisualStyles(): Este método
habilita os estilos visuais para o aplicativo.
Application.SetCompatibleTextRenderingDefault(false): Define o padrão
de renderização de texto.
Application.Run(new
Form1()):
Método responsável por chamar o formulário principal.
Portanto, vimos que o Program.cs é executado antes de chamar nosso formulário propriamente dito, ou seja, como foi explicado anteriormente o Método Estático Main funciona como a porta de entrada e posteriormente saída de um projeto em C#. Daremos continuidade explorando algumas propriedades e métodos de nosso “Form1”, para isto dê um duplo clique para configurarmos nosso formulário.
A IDE do Visual Studio
é bem intuitiva. Confiram na Imagem 03 suas propriedades e Métodos.
Figura 03: Propriedades e Métodos.
Alteramos as seguintes
propriedades do Formulário:
Text:
The Club - O maior Clube de Programadores do Brasil
StartPosition: CenterScreen
Size: 473; 372
StartPosition: CenterScreen
Size: 473; 372
Adicione um Button localizado na palheta Standard e
altere as seguintes propriedades do mesmo.
Text:
Executar
Dando um duplo clique no botão, colocaremos nossa
primeira linha de código, o bom e velho “Alô Mundo”, veja abaixo o código
utilizando o MessageBox(), seriam as caixas de diálogo equivalente ao
ShowMessage() em Delphi.
private void button1_Click(object
sender, EventArgs e)
{
MessageBox.Show("Alô Mundo, Este é um Teste Legal do The Club!");
}
Rode a aplicação pressionando F5 e verá um resultado
de acordo com a Imagem 04.
Figura 04: Formulário em Run-time.
Declarando e utilizando variáveis
Antes de nós utilizarmos
uma variável é necessário declará-la, alocando espaço para a mesma na memória
dizendo o tipo de dado que deverá ser armazenado. O C# pode armazenar diversos
tipos de dados, como: inteiros, números fracionais, textos, objetos, entre
outras coisas.
Exemplos:
int numero1;
float numero2;
string texto1;
Para atribuir um valor veja o exemplo seguinte:
private void button2_Click(object
sender, EventArgs e)
{
int
numero1, numero2, total;
numero1 = 10;
numero2 = 30;
total = numero1 + numero2;
MessageBox.Show("Resultado: " + total.ToString());
}
De fato o exemplo acima é muito simples, mas serve para exemplificar a manipulação de variáveis em C#. Em seguida mostramos uma mensagem para o usuário utilizando o próprio Messagebox(). O método ToString() transforma inteiro em String, que neste caso se fez necessário pois o tipo de parâmetro é uma String. Ver Imagem 05.
Figura 05: Somando valores.
Estruturas
condicionais - IF/ELSE
Estruturas condicionais
são necessárias em toda linguagem de programação, não sendo menos importante em
C#. A sintaxe pode ser escrita da seguinte maneira:
if (condição)
{
//Código1
//Código2
}
else
{
//Código3
//Código4
}
Aproveitando o exemplo acima adicione mais um Button, um Label e um TextBox e altere as seguintes propriedades:
Button
Text: If/Else
Label
Text: Idade
TextBox
MaxLength: 100
Text: If/Else
Label
Text: Idade
TextBox
MaxLength: 100
Neste caso iremos
verificar o que foi digitado no TextBox e mostrar para o usuário se o mesmo é
maior de idade ou não, vejamos o código abaixo:
private void button3_Click(object
sender, EventArgs e)
{
int
idade = 0;
idade = int.Parse(textBox1.Text);
if
(idade >= 18)
{
MessageBox.Show("Maior
de Idade!");
}
else
{
MessageBox.Show("Menor
de Idade!");
}
}
Ver Imagem 06.
Figura 06: Estrutura If/Else.
Podemos também utilizar o If/Else em cascata, para
encadear várias condições se necessário.
Vejamos a sintaxe e logo em seguida um exemplo
prático.
if (condição ==
1)
{
//Código1
}
Else if
(condição == 2)
{
//Código2
}
Else if
(condição == 3)
{
//Código3
}
Else if
(condição == 4)
{
//Código4
}
Else
{
//Código5
}
Utilizando a mesma lógica do cálculo de idades podemos
montar outro exemplo.
private void
button4_Click(object sender, EventArgs e)
{
int idade = 0;
{
int idade = 0;
idade = int.Parse(textBox2.Text);
if
(idade < 18)
{
MessageBox.Show("Menor
de Idade!");
}
else
if (idade >= 18 && idade <= 30)
{
MessageBox.Show("Maior
de 18 e menor de 30 anos!");
}
else
if (idade > 30 && idade < 40)
{
MessageBox.Show("Maior
de 30 e menor de 40 anos!");
}
else
{
MessageBox.Show("Maior
de 40 anos!");
}
}
Ver Imagem 07.
Figura 07: Instruções IF em cascata.
Condições
Ternárias
O C# oferece outra
opção para construção de declarações condicionais, as denominadas condições
ternárias. É uma alternativa interessante para os programadores que estão
habituados com a linguagem C e uma novidade para os que trabalham com o Delphi.
A sintaxe utilizada:
<expressão> ? <verdadeira> : <falsa>
Abaixo um exemplo de sua utilização:
private void button5_Click(object
sender, EventArgs e)
{
int
idade = 0;
idade = int.Parse(textBox3.Text);
MessageBox.Show(idade
>= 18 ? "Maior de Idade!" : "Menor de Idade!");
}
Eu particularmente adoro isto, a economia de linhas de código é incrível.
Switch..Case
Utilizamos como exemplo os dias da semana, para isto insira no mesmo formulário um Button, um Label e um TextBox e altere suas propriedades:
Utilizamos como exemplo os dias da semana, para isto insira no mesmo formulário um Button, um Label e um TextBox e altere suas propriedades:
Button
Text: Switch/Case
Label
Text: Dias da Semana
TextBox
MaxLength: 100
Text: Switch/Case
Label
Text: Dias da Semana
TextBox
MaxLength: 100
A Sintaxe:
switch (condicao)
{
case:
//condição 1
break;
case:
//condição 2
break;
case:
//condição 3
break;
}
Entraremos com números de 1 a 7 para indicar o dia da semana, veja abaixo o código:
private void button6_Click_1(object
sender, EventArgs e)
{
int
semana = 0;
semana = int.Parse(textBox4.Text);
switch
(semana)
{
case
1: MessageBox.Show("Segunda-Feira");
break;
case
2: MessageBox.Show("Terça-Feira");
break;
case
3: MessageBox.Show("Quarta-Feira");
break;
case 4: MessageBox.Show("Quinta-Feira");
break;
case
5: MessageBox.Show("Sexta-Feira");
break;
case
6: MessageBox.Show("Sábado");
break;
case
7: MessageBox.Show("Domingo");
break;
}
}
Logicamente que poderíamos utilizar outros
componentes, como um Combobox por exemplo.
A Imagem 08 ilustra nosso exemplo completo.
Figura 08: Exemplo em Run-Time.
Conclusão
Este primeiro artigo,
apesar de simples, se torna muito importante e indispensável para quem está
dando os primeiros passos em C#. Ele aborda conceitos iniciais e a principal e
a mais utilizada Instrução Condicional, o If/Else.
Para quem quiser
treinar faça programinhas utilizando outras variáveis como string ou float e mesclando
tudo o que aprendemos nos exemplos criados neste artigo.
Fica aí a dica.
Um Forte abraço a todos e
até o mês que vem!
Nenhum comentário:
Postar um comentário