26
Desenvolvimento em .Net Conceitos Essenciais

Desenvolvimento em .Net - Estruturas Basicas

Embed Size (px)

Citation preview

Page 1: Desenvolvimento em .Net - Estruturas Basicas

Desenvolvimento em .Net

Conceitos Essenciais

Page 2: Desenvolvimento em .Net - Estruturas Basicas

Objectivos● Tipos de Dados

– Comparação Progress vs .Net● Dimensionar Variáveis● Âmbito (scope) das variáveis● Conversões entre Tipos de Dados

Page 3: Desenvolvimento em .Net - Estruturas Basicas

Objectivos● Estruturas Condicionais● Estruturas de Ciclo● Procedimentos e Funções● Operadores e Funções Matemáticas● Familiarização com o VStudio

Page 4: Desenvolvimento em .Net - Estruturas Basicas

Tipos de Dados (Progress vs .Net)

Progress .NetChar Char, StringDate DateDecimal DecimalInteger IntegerLogical Boolean

Page 5: Desenvolvimento em .Net - Estruturas Basicas

Tipos de DadosVB6 .NET Framework VB.Net C# signed bytes valores

Boolean System.Boolean Boolean bool 1 true / falseByte System.Byte Byte byte sim 1 0 / 255

Integer System.Int16 Short short sim 2 -32768 / 32767Long System.Int32 Integer int sim 4

--- System.Int64 Long long sim 8

Single System.Single Single float sim 4 precisão até 7 digitosDouble System.Double Double double sim 8 precisão até 15 digitos

--- System.Decimal Decimal decimal sim 12 precisão até 28 digitos

-2147483648 / 2147483647-9223372036854775808 / 9223372036854775807

Page 6: Desenvolvimento em .Net - Estruturas Basicas

Declarar Variáveis– Indicar tipo de dados de uma variável– Declarar SEMPRE o tipo das variáveis

● Definir Option explicit On– Project / Properties / Common Properties / Build– Tools / Options / Projects / VB Defaults

● Evitamos– gralhs gralhas

● Beneficiamos– intellisense– verificação no compilador– performance

Page 7: Desenvolvimento em .Net - Estruturas Basicas

Instanciar Variáveis– instanciar = criar um objecto concreto a partir de

um molde (classe)– Diferença entre Tipo de Dados e Objecto

● dim i as integer 'valor inicial = 0● dim x as TextBox ' valor inicial = nothing

– x = New TextBox– Keyword – Is => comparações entre objectos

● object1 is object2● object1 = object2

– Keyword – Nothing● object1 is nothing

Page 8: Desenvolvimento em .Net - Estruturas Basicas

Âmbito (scope) das variáveis– Bloco / Procedimento / Módulo

Page 9: Desenvolvimento em .Net - Estruturas Basicas

Exercicio 1● Criar Projecto

Visual Studio– nome projecto

● 0201_variaveis– testar âmbito das

variáveis

Page 10: Desenvolvimento em .Net - Estruturas Basicas

Exercicio 2● Criar novo

módulo– declarar vs

instanciar

Page 11: Desenvolvimento em .Net - Estruturas Basicas

Conversões entre Tipos de Dados– Cancelar SEMPRE conversão implicita de dados

● Definir Option Strict On– Project / Properties / Common Properties / Build– Tools / Options / Projects / VB Defaults

● Option Strict Off = Option Slow On

● Beneficiamos– intellisense– verificação no compilador– performance

...He also calls this Option Slow, referring to the slow, expensive IL that must be emitted behind the scenes for this magical type conversion scheme to work-- the source of endless "VB.NET is slower than C#" benchmarks.

Page 12: Desenvolvimento em .Net - Estruturas Basicas

Implicações– Temos que conhecer as funções de conversão de

dados● .toString()● Convert.To...● Cint(), Cdbl(), ...● Ctype(expressão, tipo de dados) => funciona desde que

haja uma conversão válida.● DirectCast(expressão, tipo de dados) => só funciona se o

tipo de dados da expressão for igual ao tipo de dados especificado

Page 13: Desenvolvimento em .Net - Estruturas Basicas

Exercicio 3● Criar novo módulo

– conversões de tipos de dados

Page 14: Desenvolvimento em .Net - Estruturas Basicas

Constantes– Constante => variável com valor imutável

Beneficios● Performance● Legibilidade

– “Avoid using magic numbers and string literals in your code”

Page 15: Desenvolvimento em .Net - Estruturas Basicas

Estruturas condicionais

Page 16: Desenvolvimento em .Net - Estruturas Basicas

Estruturas de ciclo

Page 17: Desenvolvimento em .Net - Estruturas Basicas

Procedimentos e Funções

Page 18: Desenvolvimento em .Net - Estruturas Basicas

Procedimentos e Funções● Objectivos

– componentizar– dividir para conquistar– loosely coupled

● independencia entre módulos.● um módulo não precisa de saber os detalhes de

implementação do outro

Page 19: Desenvolvimento em .Net - Estruturas Basicas

Procedimentos e Funções

Page 20: Desenvolvimento em .Net - Estruturas Basicas

Procedimentos e Funções– Reduzir ao máximo / eliminar o acesso a variáveis

que não tenham sido declaradas no procedimento ou função

● passar sempre essas variaveis como parâmetro

Page 21: Desenvolvimento em .Net - Estruturas Basicas

Procedimentos e Funções– ByVal / ByRef

● By Value (ByVal)– copia o valor da variável

● By Reference (ByRef)– copia a variável

● menos performante● causa alteração na variavel do módulo que chamou a função

● Enviar sempre valores ByVal

Page 22: Desenvolvimento em .Net - Estruturas Basicas

Exercicio 4● Criar Projecto Visual

Studio– nome projecto

● 0202_procedimentos– testar passagem de

parâmetros

Page 23: Desenvolvimento em .Net - Estruturas Basicas

OperadoresAritméticosAdição + +Subtração - -Multiplicação * *Divisão / /Exponencial ^ ExpResto da Divisão Inteira mod Modulo

LógicosE And AndNegação Not NotOu Or OrOu Exclusivo Xor ---E Também AndAlso ---Ou Então OrElse ---

FunçõesValor Absoluto Math.Abs AbsArrendondamento Math.Round Round

Page 24: Desenvolvimento em .Net - Estruturas Basicas

Visual Studio● Solução vs Projecto

– 1 solução > 1 projecto● pode ter projectos em linguagens / plataformas

diferentes (windows/web; vb.net/c#)– Opção Set as Startup Project– Opção Startup Object– Opção Project Dependencies– Opção Find and Replace

Page 25: Desenvolvimento em .Net - Estruturas Basicas

Objectivos● Tipos de Dados

– Comparação Progress vs .Net● Dimensionar Variáveis● Âmbito (scope) das variáveis● Conversões entre Tipos de Dados

Page 26: Desenvolvimento em .Net - Estruturas Basicas

Objectivos● Estruturas Condicionais● Estruturas de Ciclo● Procedimentos e Funções● Operadores e Funções Matemáticas● Familiarização com o VStudio