desenvolvimento em .net - estruturas basicas
TRANSCRIPT
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