Desenvolvimento em .Net - Estruturas Basicas
-
Upload
vitor-silva -
Category
Documents
-
view
1.323 -
download
1
Transcript of Desenvolvimento em .Net - Estruturas Basicas
![Page 1: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/1.jpg)
Desenvolvimento em .Net
Conceitos Essenciais
![Page 2: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/2.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/3.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/4.jpg)
Tipos de Dados (Progress vs .Net)
Progress .NetChar Char, StringDate DateDecimal DecimalInteger IntegerLogical Boolean
![Page 5: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/5.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/6.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/7.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/8.jpg)
Âmbito (scope) das variáveis– Bloco / Procedimento / Módulo
![Page 9: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/9.jpg)
Exercicio 1● Criar Projecto
Visual Studio– nome projecto
● 0201_variaveis– testar âmbito das
variáveis
![Page 10: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/10.jpg)
Exercicio 2● Criar novo
módulo– declarar vs
instanciar
![Page 11: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/11.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/12.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/13.jpg)
Exercicio 3● Criar novo módulo
– conversões de tipos de dados
![Page 14: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/14.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/15.jpg)
Estruturas condicionais
![Page 16: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/16.jpg)
Estruturas de ciclo
![Page 17: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/17.jpg)
Procedimentos e Funções
![Page 18: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/18.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/19.jpg)
Procedimentos e Funções
![Page 20: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/20.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/21.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/22.jpg)
Exercicio 4● Criar Projecto Visual
Studio– nome projecto
● 0202_procedimentos– testar passagem de
parâmetros
![Page 23: Desenvolvimento em .Net - Estruturas Basicas](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/23.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/24.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/25.jpg)
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](https://reader034.fdocumentos.tips/reader034/viewer/2022042507/5599ca6e1a28ab0a368b45f1/html5/thumbnails/26.jpg)
Objectivos● Estruturas Condicionais● Estruturas de Ciclo● Procedimentos e Funções● Operadores e Funções Matemáticas● Familiarização com o VStudio