Este documento apresenta o professor Charles Fortes, que ensinará sobre linguagem de programação comercial .NET e C#. O documento discute brevemente o .NET Framework, seus tipos de dados, coleções e tratamento de erros.
4. Linguagem de Programação Comercial
Prof. Charles Fortes
Charles Fortes
Líder Técnico na Empresa Prime Systems.
Agilista, apaixonado por desenvolvimento
(Web, Desktop, Mobile, o que for), pai,
amante do Paintball e do Kenjutsu. MTAC -
Microsoft Technical Audience Contributor
100Loop - DotNetRaptors
5. Linguagem de Programação Comercial
Prof. Charles Fortes
Charles Fortes
Líder Técnico na Empresa Prime Systems.
Agilista, apaixonado por desenvolvimento
(Web, Desktop, Mobile, o que for), pai,
amante do Paintball e do Kenjutsu. MTAC -
Microsoft Technical Audience Contributor
100Loop - DotNetRaptors
SlideShare: http://pt.slideshare.net/charleswellingtonfortes
Linkedin: http://br.linkedin.com/in/charlesfortes/
Twitter: @CharlesFortes
6. Linguagem de Programação Comercial
Prof. Charles Fortes
Charles Fortes
Líder Técnico na Empresa Prime Systems.
Agilista, apaixonado por desenvolvimento
(Web, Desktop, Mobile, o que for), pai,
amante do Paintball e do Kenjutsu. MTAC -
Microsoft Technical Audience Contributor
100Loop - DotNetRaptors
Desenvolvimento Web – MVC – Angular.JS – JQuery – SQLServer – MySQL – HTML5 – NoSQL
8. Linguagem de Programação Comercial
Prof. Charles Fortes
O que é o .NET FrameWork
O .NET Framework
Conjunto de bibliotecas desenvolvidas para suprir as mais diversas necessidades de
desenvolvimento
Desenvolvido para funcionar com uma máquina virtual que interpreta o código
9. Linguagem de Programação Comercial
Prof. Charles Fortes
Vantagens
100% Orientada a objetos;
Facilidade de desenvolvimento de aplicações;
Facilidade na instalação e na distribuição de aplicações;
Alta escalabilidade;
Interoperabilidade entre plataformas e componentes desenvolvidos em outras
linguagens .NET;
Rotina automática de “coleta de lixo” que permite remoção de variáveis e objetos que
não são mais utilizados;
10. Linguagem de Programação Comercial
Prof. Charles Fortes
Compatibilidade do Framework
100% Nativo no Win 8, Win 7, Windows Vista
Funciona no Windows XP (SP3)
Até sua versão 2.0 instalável no Windows 98 com emulação
Até sua versão 1.1 instalável no Windows NT 4.0SP6 com emulação
11. Linguagem de Programação Comercial
Prof. Charles Fortes
Funcionamento do Framework
Máquina Virtual
Todo código gerado é gerado em linguagem intermediária (MSIL – Microsoft Intermediate
Language)
Quando compilamos o código .NET são gerados arquivos que são chamados Assembly
Todo assembly é compilado duas vezes, uma pelo compilador que o transforma no Assembly
propriamente dito (MSIL) e a segunda vez pelo JIT (Just-in-Time Compiler)
Quando o JIT compila o MSIL, ele o recompila de forma a otimizar a aplicação para aquele
computador, baseado em seu Hardware e Software
12. Linguagem de Programação Comercial
Prof. Charles Fortes
C#
MSIL
VB.NET
CLR (Common Language Runtime)
Linguagem de máquina
MeuPrograma.cs
MeuPrograma.vb
MeuPrograma.dll
MeuPrograma.exe
csc vbc
JIT
13. Linguagem de Programação Comercial
Prof. Charles Fortes
Funcionamento do Framework
MultiPlataformas
Uma vez que todo código .NET que o compilador gera (os Assemblies) são gerados
em MSIL, podemos ter diversas linguagens diferentes criando estes arquivos
Possibilidade de utilização de arquivos em VB.NET, C#, J#... Etc...
Podemos utilizar os Assemblies criados em diferentes linguagens em um único projeto
sem prejuízo de desempenho ou qualquer trabalho adicional
15. Linguagem de Programação Comercial
Prof. Charles Fortes
Value Types : Conceitos
Inicialmente todo tipo booleano e numéricos;
Tem seus valores armazenados no mesmo local onde a
variável está instanciada na memória (stack);
São divididas em três tipos principais :
Built-in types
User-defined types
Enumerations
Todos herdam de System.Value;
Quando definimos um objeto valorado igual ao outro, uma
cópia das informações contidas no primeiro objeto é feita
para um novo local da memória (o mesmo local onde a
variável está instanceada);
16. Linguagem de Programação Comercial
Prof. Charles Fortes
Built-in Value Types
Tipos nativos do Framework
Possuem o mesmo tratamento, comportamento e estrutura independente
da linguagem utilizada
Tipos Otimizados para promover melhor desempenho
Exitem aproximadamente 300 tipos valorados no .NET
17. Linguagem de Programação Comercial
Prof. Charles Fortes
Tipo
NameSpace / VB/ C#
Byte
s
Tamanho Uso
System.Sbyte (Sbyte/sbyte) 1 -128/127 Bytes com sinal
System.Byte (Byte/byte) 1 0 a 255 Byte sem sinal
System.Int16(Short/short) 2 -32768 a 32767 Interoperações e outros usos específicos
System.Int32
4 -2147483648 a 2147483647 a
Tipo numérico (números inteiros)
(Integer/int)
2147483648 a 2147483646
padrão.
System.UInt32
(Uinteger/uint)
4 0 a 4294967295 Int32 positivos
System.Int64 (Long/long) 8 -9223372036854775808 a 9223372036854775807 Inteiros muito grandes
System.Single (Single/Float) 4 -3.402823E+38 a 3.402823E+38 Números de ponto flutuante
System.Double
(Double/double)
8 -/+ 1.79769313486232E+308 Precisão Dupla de Ponto Flutuante
System.Decimal (Decimal/decimal) 16 -79228162514264337593543950335 a
79228162514264337593543950335
Cálculos Financeiros e Científicos que
requiram grande precisão
System.Char
(Char/char)
2 N/A Caracter Unicode
System.Boolean
(Boolean/bool)
4 N/A True/False
System.DateTime
(Date/date)
8 1/1/0001 12:00:00 AM a 12/31/9999 11:59:59 AM Tempo
18. Linguagem de Programação Comercial
Prof. Charles Fortes
Built-in Value Types
Tipos valorados implicitam construtor
Se não iniciadas na contrução assumem os valores :
Zero
Null
Empty
19. Linguagem de Programação Comercial
Prof. Charles Fortes
Paralelo sobre Tipos de Dados
No DotNet tudo é derivado de System.Object
Isto facilita a interação entre os tipos e disponibiliza
funções comuns como toString();
20. Linguagem de Programação Comercial
Prof. Charles Fortes
User-Defined Value Types
Criados a partir de Structs;
Possuem as Mesmas possibilidades das classes porém são passados por valor;
Devem ser utilizados para a criação de estruturas de armazenamento simples que
não serão modificadas ou passadas por parâmetro muitas vezes.
21. Linguagem de Programação Comercial
Prof. Charles Fortes
Reference Types
Quando recebe um outro objeto, ele apenas faz um apontamento para os dados armazenados na
memória e armazenas apenas esse ponteiro em sua stack.
O local onde os dados referenciados fica armazenado na memória é chamado de heap;
Toda Classe é um tipo por referencia;
Todo tipo por referência necessita construtor;
22. Tipo Uso
System.Object A mãe de todas as classes dentro do
.NET Framework. Dela que os filhos
herdam métodos como ToString()
System.String Texto
System.Text.StringBuilder Texto Dinâmico
System.Array Classe Mãe de todos os Array´s
System.IO.Stream Classe Abstrata responsável por
Buffer.
System.Exception Classe mãe de todas as Exceções
(Tratamento de Erros)
Linguagem de Programação Comercial
Prof. Charles Fortes
Exemplos de Tipo por referência
23. Linguagem de Programação Comercial
Prof. Charles Fortes
Reference Types X Value Types
Comparações
Quando utilizar um e o outro?
24. Linguagem de Programação Comercial
Prof. Charles Fortes
String
Strings são exceções entre os Tipos por Referência
Strings são tratadas como tipos valorados
Sempre que concatenamos uma string ele gera uma nova instancia de string em
uma nova Stack contendo o valor da string antiga e da string adicionada:
Utilização da string || Alocalçao na Memória
string str = “Colé” // nova(Stack[0]) : “Colé”
str += “doidin” // nova(Stack[1]) : “Colé doidin”
str += “perdeu!” // nova(Stack[2]) : “Colé doidin perdeu!”
25. Linguagem de Programação Comercial
Prof. Charles Fortes
Solução
A solução é a utilização do métodos métodos Concat, Join ou Format
quando estiver trabalhando com pequenas quantidades de dados
A Utilização do StringBuilder para manipular grandes manipulações de string