Académique Documents
Professionnel Documents
Culture Documents
TREINAMENTO
SEGUNDA FASE
22/10/2009
Tpicos
abordados:
Introduo ao .NET Framework e CLR Plataforma Visual Studio 2008 Lgica de Programao
22/10/2009
O .NET Framework um modelo de programao de cdigo gerenciado da Microsoft para criar aplicativos em clientes, servidores e dispositivos mveis ou incorporados ao Windows.
Conjunto rico de bibliotecas com os mais variados usos; Controle de verso: fim do DLL Hell; Facilidade de desenvolvimento de aplicaes desde as mais simples at as mais complexas; Facilidade na instalao e na distribuio de aplicaes; Alta escalabilidade para ambientes de misso crtica; Interoperabilidade entre plataformas e componentes desenvolvidos em outras linguagens .NET; Sintonizado com as ltimas tecnologias; Orientado a objetos; Tecnologia baseada em mquina virtual;
22/10/2009
Aplicativos Web Aplicativos para Servidores Aplicativos Smart Client Aplicativos de Console Aplicativos de Banco de Dados Servios Windows Web Services e muito mais
.NET Framework 3.5 incrementa as .NET Frameworks 2.0 e 3.0 com novos recursos tecnolgicos. Entre eles, esto:
Profunda integrao entre LINQ (consulta integrada linguagem) e reconhecimento de dados (data awareness). Novas implementaes ao ASP.NET AJAX. Suporte completo para:
Windows Workflow Foundation (WF) Windows Communication Foundation (WCF) Windows Presentation Foundation (WPF) Windows CardSpace
Novas classes na BCL (biblioteca de classes bsicas) que vm atender solicitaes comuns entre os desenvolvedores.
22/10/2009
Common Type System (CTS) Visual Studio .NET ASP .NET: Web Services e Web Forms ADO .NET: Data e XML
Windows Forms
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). Estas especificaes so abertas (ECMA-335, ISO/IEC 23271), assim permitem a interoperabilidade entre outras linguagens e plataformas.
Ex. A Novell
desenvolveu o Mono, um CLR que opera em Linux, BSD, UNIX, Mac OS X e Solaris.
22/10/2009
Gerenciamento
Compilao
Source Code Language Compiler Code MSIL Metadata
Execuo
Native Code JIT Compiler
22/10/2009
Cdigo Fonte
VB
C#
Compilador
Compilador
Compilador
Cdigo Gerenciado
Assembly - Cdigo IL
Managed
Cdigo Fonte Compilador Cdigo Intermedirio (IL): .DLL ou .EXE Requer o ambiente CLR para executar Cdigo de Mquina (Binrio)
Unmanaged
Cdigo Fonte Compilador Cdigo de Mquina (Binrio) NO requer o ambiente CLR para executar
22/10/2009
Microsoft
Visual Basic.NET Microsoft C# Microsoft C++ (Gerenciado/No-Gerenciado) Microsoft J# Outras: http://www.dotnetlanguages.net http://www.dotnetpowered.com
22/10/2009
Um
conjunto de ferramentas de desenvolvimento que permite aos desenvolvedores de software resolver problemas complexos e criar solues inovadoras. Baseia-se em trs pilares principais:
Desenvolvimento rpido de aplicativos Colaborao eficaz em equipe Experincias de usurio inovadoras
Desenvolver
Web Sites e Aplicaes Web com ASP.NET, AJAX.NET e Silverlight. Impressionar com mdia e grficos desenvolvidos com o Windows Presentation Foundation. Desenvolver aplicativos que estendem funes do Office 2003 e 2007. Desenvolver aplicaes para Windows Mobile. Desenvolver solues de integrao coorporativa com Windows Communication Foundation e o Windows Workflow Foundation e muito mais...
22/10/2009
Demonstrao
File
10
22/10/2009
11
22/10/2009
Inteiro de 8 bits sem sinal byte Inteiro com sinal de 8 bits sbyte Inteiro de 32 bits com sinal int Inteiro de 32 bits sem sinal uint Inteiro com sinal de 64 bits long Inteiro sem sinal de 64 bits ulong Inteiro com sinal de 16 bits short Inteiro sem sinal de 16 bits ushort Ponto flutuante decimal. Este tipo tem uma preciso de 28 casas decimais. decimal Ponto flutuante binrio. Este tipo tem uma preciso de 15 casas decimais. double Ponto flutuante binrio. Este tipo tem uma preciso de 7 casas decimais. float Tipo de dados booleano. Pode ser apenas true ou false. bool Um nico caractere unicode de 16 bits. char Texto em Unicode com at 1 gigabyte. string
12
22/10/2009
Armazenado
na memria Stack. Trabalha com dados diretamente. No pode ser nulo. Exemplo:
Inteiros Decimais Booleanos Estruturas Enumeraes
... idade
STACK
19
salrio
500.00
brasileiro
Contm
uma referncia a um ponteiro na memria Heap. Pode ser nulo STACK Exemplo:
Vetores Textos Instncias de Classes Classes
...
#XXXX
Nome ...
HEAP
Nome
Texto
13
22/10/2009
// Tipo por valor // Tipo por referncia // Causa boxing // Chama via O // Faz unboxing
Stack
123
Heap i O x
123 123
// Tipo por valor // Causa boxing // Tipo por referncia // Chama via O // Faz unboxing
HEAP
...
x
123
S
...
O
123
O
123
i
...
...
14
22/10/2009
Aritmticos
+, -, *, /, %
Atribuio
Concatenao
Criao de Objetos
new
Igualdade e Diferena
==, !=
Incremento e Decremento
++, --
Primrios
Relacionais
if
... else
Comando condicional: executa um bloco de comandos se uma condio for verdadeira. A clusula else (condio falsa) opcional.
if (idade >= 18) { Response.Write("Autorizado."); Response.Write("Sua idade : " + idade); } else if (idade > 15 && idade < 18) { Response.Write("Somente com os pais."); Response.Write("Menor de 18 anos."); } else { Response.Write("No autorizado."); Response.Write("Menor de 15 anos."); }
15
22/10/2009
switch
case
Estrutura de deciso que seleciona um comando com base no valor de uma varivel. A clusula default opcional.
switch (sexo) { case "masculino": Response.Write("Homem"); break; case "feminino": Response.Write("Mulher"); break; default: Response.Write("No informado"); break; }
for
16
22/10/2009
while
Estrutura de repetio que realiza as operaes indicadas enquanto a condio especificada for verdadeira.
do
... while
Estrutura de repetio semelhante anterior, porm as condies so verificadas ao final da execuo. As operaes especificadas so executadas pelo menos uma vez. Necessita do caractere ; ao final da estrutura.
17
22/10/2009
// Exemplo V string s = "valor"; int i = 0; if (int.TryParse(s, out i)) { Response.Write(i); } else { Response.Write("invlido"); }
18
22/10/2009
Array
um tipo que permite o armazenamento de uma coleo de valores de um mesmo tipo. Arrays so indexados a partir de zero (0). No podem ter seu tamanho alterado depois de instanciados.
Para
declarar um Array, basta adicionar um par de colchetes logo aps a declarao do tipo dos elementos individuais
int[] meuVetorDeInteiros; string[] meuVetorDeStrings;
Instanciando
arrays
int[] codigos = new int[5]; string[] nomes = new string[100]; object[] produtos = new object[50]; int[] pedidos = {1, 4, 6, 8, 10, 68, 90, 98, 182, 500};
Preenchendo
um array
19
22/10/2009
Podem
ser:
int[] codigos = {1,3,6,7,8};
Unidimensionais:
int[] codigos = new int[5]; codigos[0] = 1;
Multidimensionais:
Retangular ou matriz:
int[,] codigos = {{11,42},{35,44}};
int[][] codigos = new int[2][]; codigos[0] = new int[2]; codigos[0][0] = 11; int[][] codigos = { new int[]{11,42}, new int[]{35,44} };
foreach
Esta estrutura de repetio uma variao do for. Especifica uma varivel auxiliar e a coleo ou array cujos elementos sero percorridos.
20
22/10/2009
Definindo
Tipos Enumerados
Declarando
um namespace
Namespaces
em cadeia
Instruo
Using
using using using using System; System.Data; Cadastro.Telas; Pessoa = Cadastro.Cliente;
21
22/10/2009
Criando
comentrios e regies:
/// <summary> /// Documentao XML /// </summary> private int Atributo;
22
22/10/2009
23