Desenvolvimento em .Net - Estruturas Basicas

Preview:

Citation preview

Desenvolvimento em .Net

Conceitos Essenciais

Objectivos● Tipos de Dados

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

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

Tipos de Dados (Progress vs .Net)

Progress .NetChar Char, StringDate DateDecimal DecimalInteger IntegerLogical Boolean

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

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

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

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

Exercicio 1● Criar Projecto

Visual Studio– nome projecto

● 0201_variaveis– testar âmbito das

variáveis

Exercicio 2● Criar novo

módulo– declarar vs

instanciar

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.

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

Exercicio 3● Criar novo módulo

– conversões de tipos de dados

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

Beneficios● Performance● Legibilidade

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

Estruturas condicionais

Estruturas de ciclo

Procedimentos e Funções

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

Procedimentos e Funções

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

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

Exercicio 4● Criar Projecto Visual

Studio– nome projecto

● 0202_procedimentos– testar passagem de

parâmetros

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

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

Objectivos● Tipos de Dados

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

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