Você está na página 1de 9

Conceito Bsico

Dotnet um modelo de programao de cdigo gerenciado da MS para criar aplicativos em


clientes, servidores e dispositivos mveis ou incorporados ao Windows. uma plataforma de
desenvolvimento. Trabalha de foram integrada entre as varias linguagens (VB.NET, C#, ASP.NET
e ADO.NET). Ela tem uma camada de consolidao que o Framework que faz com que varias
aplicaes desenvolvidas possam conversar entre si. Esta comunicao possvel porque so
gerados arquivos chamados assemblies que so lidos por essa camada inferior. C# uma
linguagem de programao que foi projetada especificamente para trabalhar com o DotNet. Ao
utilizar C# voc pode:

Escrever pginas web dinmicas;


Servio web baseado em XML;
Componente de aplicao distribuda;
Componente de acesso a banco de dados;
Aplicao clssica desktop para Windows;

A parte "NET" no nome do framework serve para enfatizar a crena de que aplicaes
distribudas (processo distribudo entre cliente e servidor), so o futuro. DotNet e C# foram
criados para revolucionar a forma com a qual voc cria programas, e para fazer a programao
para Windows muito mais fcil do que j foi.

CLR

O Common Language Runtime (CLR) o componente encarregado de gerenciar


aplicaes desenvolvidas em .NET.;
O compilador de cada linguagem segue uma srie de especificaes, conhecidas como
Common Language Infrastructure (CLI);

Servios presentes no CLR

Gerenciamento de memria;
Tratamento de excees;
Compilao;
Segurana;
Outros;

Processo de Compilao

CDIGO-FONTE =>COMPILADOR DA LINGUAGEM =>CDIGO => COMPILADOR JIT => CDIGO


NATIVO
Arquitetura .NET

A plataforma .NET baseia-se em um dos princpios utilizados na tecnologia Java (Just In Time
Compiler - JIT), os programas desenvolvidos para ela so duplo-compilados (compilados duas
vezes), uma na distribuio (gerando um cdigo que conhecido como "byte codes") e outra
na execuo.

Um programa escrito em qualquer das mais de trinta e trs linguagens de programao


disponveis para a plataforma, o cdigo fonte gerado pelo programador ento compilado pela
linguagem escolhida gerando um cdigo intermedirio em uma linguagem chamada MSIL
(Microsoft Intermediate Language).Este novo cdigo fonte gera um arquivo na linguagem de
baixo nvel Assembly, de acordo com o tipo de projeto:
EXE - Arquivos Executveis, Programas
DLL - Biblioteca de Funes
ASPX - Pgina Web
ASMX - Web Service
No momento da execuo do programa ele novamente compilado, desta vez pelo compilador
JIT, de acordo com a utilizao do programa, por exemplo: Temos um Web Site desenvolvido
em ASP.NET, ao entrar pela primeira vez em uma pgina o JIT ir compila-la, nas outras vezes
que algum outro usurio acessar esta pgina, ele usar esta compilao. Tambm possvel,
atravs de ferramentas especficas, "pr-compilar" o cdigo para que no se tenha o custo da
compilao JIT durante a execuo.
O fato desta arquitetura utilizar a MSIL gera uma possibilidade pouco desejada entre os
criadores de software que a de fazer a "engenharia reversa", ou seja, a partir de um cdigo
compilado, recuperar o cdigo original. Isto no uma idia agradvel para as empresas que
sobrevivem da venda de softwares produzidos nesta plataforma.
Por causa disso, existem ferramentas que "ofuscam" o cdigo MSIL, trocando nomes de
variveis, mtodos, interfaces e etc. para dificultar o trabalho de quem tentar uma engenharia
reversa no mesmo.

Frameworks

Um Framework uma estrutura de suporte no qual um projeto de software pode ser


organizado e desenvolvido, desta maneira evitando que um desenvolvedor tenha que criar uma
estrutura auxiliar para o desenvolvimento de sua aplicao. O grande objetivo dos frameworks
tornar o desenvolvimento de aplicaes menos oneroso ao desenvolvedor, desta maneira
fornecendo a fundao necessria para que o desenvolvedor gaste mais tempo trabalhando
com os requisitos do software do que com os detalhes de baixonvel inerentes ao seu
desenvolvimento.

Framework um conjunto de mtodos, padres e classes que definem e disponibilizam


recursos para o desenvolvimento. O Dot NET isso, um Framework de desenvolvimento. Com
ele voc no precisa investir seu tempo para fazer determinadas tarefas, pois ele j tem um
caminho para que esta tarefa seja feita, basta apenas voc usar.

C#
C#, tambm escrito como C Sharp, uma linguagem de programao orientada a objetos,
fortemente tipada, desenvolvida pela Microsoft como parte da plataforma .NET. A sua sintaxe
orientada a objetos foi baseada no C++ mas inclui muitas influncias de outras linguagens de
programao, como Object Pascal e Java.

Pontos importantes sobre C#:

Sempre que executamos uma aplicao C# o primeiro mtodo a ser executado o


mtodo Main. Ele precisa ser static (esttico pode ser usado sem ser instanciado).
C# case-sensitive, Main diferente de main.
Linhas de comentrios comeam com //
O IntelliSense mostra todos os itens relacionados a classe ou parmetros e ajuda a
evitar erros de digitao.

Exemplos de cdigo

using System; namespace Teste


{
class OlaMundo
{
static void Main()
{
Console.WriteLine("Ol, Mundo!");
}

}
}

NameSpaces
Namespaces organizam as classes do.NET Framework. E servem para diminuir a
quantidade de cdigo facilitando e evitando erros.
Namespaces podem conter outros namespaces.
O namespace System o mais importante porque contm as classes que a maior parte
das aplicaes utiliza para interagir com o sistema operacional.
Namespaces no correspondem ao arquivo ou diretrio nomes. Se nomear diretrios e
arquivos de forma a corresponder aos namespaces ajuda a organizar o seu cdigo e,
em seguida, voc poder faz-lo, mas no necessria.

Tipos de Dados
Quando voc declara uma varivel no C# voc precisa determinar qual tipo de dado ser
armazenado nela. O tipo de dado vai dizer quais valores so possveis de se armazenar nessa
varivel. Quem define as regras para os tipos de dados como declarao, uso e gerenciamento
dos tipos o CTS ou common type system que faz parte do CLR.

Atravs do CTS possvel o desenvolvimento em linguagens diferentes na mesma plataforma e


total integrao entre elas, alm disso, ele responsvel por garantir o tipo de dado e aumentar
o desempenho da execuo.

Variveis so espaos na memria do computador reservador para armazenar dados. A


referncia aos dados de uma varivel pode ser feita de duas maneiras:

Por valor, chamado de Value-Type.


Por referncia, chamada de Reference-Type

Value-Type
Contm diretamente o dado.
Cada copia da varivel contm uma copia do dado.
Operaes em uma varivel no afetam a sua cpia.
Exemplos de variveis Value-Type so: integers, doubles, floats, e structures.

Reference-Type
Armazenam uma referencia ao dado(conhecido como objetos)
Duas variveis Reference-Type podem conter referencia a um mesmo objeto.
Operaes em uma afetam a outra.
Exemplos de Reference-Type so: strings, arrays, e classes.

Nomeando uma varivel:

A documentao do Microsoft .Net Framework da as seguintes recomendaes para a


nomeao das variveis:
Evite usar underline;
No crie variveis que apenas se diferenciem apenas pela sua forma. Exemplo:
minhaVariavel e outra chamada MinhaVariavel;
Procure iniciar o nome com uma letra minscula;
Evite usar todas as letras maisculas;
Quando o nome tiver mais que uma palavra, a primeira letra de cada palavra aps a
primeira deve ser maiscula (conhecido como notao camelCase);

Conveno PascalCasing

Para usar a conveno PascalCasing para nomear suas variveis, capitalize o primeiro caractere
de cada palavra. Exemplo:

voidInitializeData();

A microsoft recomenda usar o PascalCasing quando estiver nomeando classes, mtodos,


propriedades, enumeradores, interfaces, constantes, campos somente leitura e namespaces.

Conveno camelCasing

Para usar esse tipo de conveno, capitalize a primeira letra de cada palavra menos da primeira.
Como o exemplo:

intloopCountMax;

A Microsoft recomenda usar essa conveno na nomeao de variveis que definem campos e
parmetros. Javascript utiliza este padro para o nome dos mtodos.

Declarando variveis:

Antes de usar uma varivel necessrio declar-la. Neste momento alocamos espao para esta
varivel na memria e dizemos que tipo de dado pode ser armazenado nela. O tipo de dado
indica qual o tamanho do espao vai ser reservado para a varivel.

O C# pode armazenar diferentes tipos de dados: como inteiros, nmeros de ponto flutuante,
textos e caracteres. Assim que declaramos uma varivel precisamos identificar que tipo de dado
ela armazenar.

Declaramos especificando o tipo de dado seguido do nome da varivel como no exemplo:

int contador;

Esse exemplo declara uma varivel chamada contador do tipo integer. Ou seja ela dever
armazenar nmeros inteiros, mais a frente estudaremos melhor o que armazenar em cada tipo
de dado.

Podemos tambm declarar mltiplas variveis de uma vez, fazemos isso da seguinte maneira:
int contador, numeroCarro;

Estamos declarando nesse exemplo duas variveis do tipo integer, uma chamada contador e a
outra numeroCarro.

Atribuindo valor a variveis ;

Depois de declarar sua varivel voc precisa atribuir um valor a ela. No C# voc no pode usar
uma varivel antes de colocar um valor nela, isso gera um erro de compilao.

Exemplo de como atribuir um valor a uma varivel:

Int numeroFuncionario;
numeroFuncionario = 23;

Primeiro nos declaramos nossa varivel do tipo integer. Depois atribumos o valor 23 a ela.
Entendemos pelo sinal de igual como recebe. Assim numeroFuncionario recebe 23.

Podemos tambm atribuir um valor a varivel quando a declaramos, dessa forma:

Int numeroFuncionario = 23;

Isso faz a mesma coisa que o exemplo anterior, s que tudo em uma linha.

Mais um exemplo:

Cha rletraInicial = M;

Tipos de variveis

Cada tipo no C# um atalho para o tipo do Framework. Isso quer dizer que se declararmos a
varivel desta forma:

string nome; ou dessa forma


System.String nome;

teremos o mesmo resultado. O atalho serve apenas para facilitar na hora de desenvolver a
aplicao.

A seguinte tabela mostra os tipos de variveis e os valores possveis de se armazenar em cada


uma delas.

C# Type Valores possveis de se armazenar


bool Verdadeiro ou Falso (Valores booleandos)
byte 0 a 255 (8 bits)
sbyte -128 a 127 (8 bits)
char Um caractere (16 bits)
decimal 1.0 1028 a 7.9 1028 (128 bits)
double 5.0 10324 a 1.7 10308 (64 bits)
float 1.5 1045 a 3.4 1038 (32 bits)
int -2,147,483,648 a 2,147,483,647 (32 bits)
uint 0 a 4,294,967,295 (32 bits)
long 9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 (64 bits)
ulong 0 a 18,446,744,073,709,551,615 (64 bits)
object Qualquer tipo.
short -32,768 a 32,767 (16 bits)
ushort 0 a 65,535 (16 bits)
string Seqncia de caracteres (16 bits por caractere)

Todos os tipos na tabela com exceo dos tipos object e string so conhecidos como tipos
simples.

Adicionando valor a uma varivel :

muito comum precisarmos adicionar ou subtrair valores de uma varivel usando no calculo o
valor que j esta armazenado na mesma.

O cdigo seguinte declara uma varivel do tipo integer chamada contador e armazena o valor 2
nesta varivel, depois incrementa o valor 40:

int contador;
contador = 2;
contador = contador + 40;

No final do cdigo acima a varivel contador tem qual valor?


A resposta 42, claro, criamos a varivel, adicionamos o valor 2 nela e aps, pegamos o valor
dela (que era 2) e adicionamos 40, e armazenamos o valor na mesma.

Preste ateno na seguinte linha de cdigo:

contador = contador + 40;

Perceba que para somar o valor a varivel precisamos repetir o nome da varivel.

Podemos fazer da seguinte forma tambm em C#:

contador += 40;
Isso teria o mesmo resultado e uma maneira mais elegante.

Voc pode subtrair tambm valores, como o exemplo:

contador -= 23;

Isso subtrairia 23 do valor da varivel.

Na verdade voc pode fazer isso com todos os operadores aritmticos, como multiplicao e
diviso tambm.

Para saber mais voc pode consultar a documentao do Visual Studio e procurar por
assignment.

Operadores Aritmticos

O C# suporta os smbolos aritmticos que todos ns conhecemos para as operaes aritmticas


bsicas como adio (+) e subtrao (-), ele utiliza o asterisco (*) para multiplicao e barra pra
frente (/) para diviso. Esses smbolos so chamados operadores, e operam os valores das
variveis. Exemplo:

long salario;
salario = 500 * 20;

A expresso acima multiplica 500 por 20 e armazena o resultado na varivel salario.

Entretanto voc no pode usar os operadores para qualquer tipo de dado. Os operadores
matemticos, por exemplo, s podem ser usados para os tipos char, int, long, float, double e
decimal. Eles no podem ser usados para string e bool. Exemplo:

Console.WriteLine(Londrina So Paulo);

Isso vai gerar um erro porque voc no pode subtrair uma string de outra.

Console.WriteLine(43 11);

Isso tambm vai gerar um erro, porque valores entre aspas so sempre strings, para efetuar a
subtrao o correto :

Console.WriteLine(43 11);

Precedncia de Operadores:

Operaes dentro dos parnteses so sempre executadas primeiro, como nas operaes
matemticas.

Em C#, operadores multiplicativos (*, /, %) tem precedncia sobre os aditivos (+, -).
Vamos dar a ordem de precedncia da seguinte expresso:
2+3*4
2+3*4
2 + 12
14

Para efetuar a soma primeiro podemos utilizar os parnteses:


(2 + 3) * 4
(2 + 3) * 4
5*4
20

Perceba que a ordem de precedncia altera o valor do resultado, por isso devemos ter ateno
com a precedncia.

Exerccios:

1. Exibir o seu nome;


2. Dado um nome e exibir;
3. Dado um nome e uma idade exibi-los;
4. Dado um nome e o ano do nascimento exibir o nome e a idade;
5. Dado dois nmeros calculem o dobro do primeiro mais a metade do segundo;

Você também pode gostar