SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Linguagem de Programação Comercial 
Prof. Charles Fortes 
Introdução .NET e C#
Linguagem de Programação Comercial 
Prof. Charles Fortes 
Sobre o Professor
Linguagem de Programação Comercial 
Prof. Charles Fortes 
Charles Fortes
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
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
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
Linguagem de Programação Comercial 
Prof. Charles Fortes 
Visão Geral
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
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;
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
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
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
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
Linguagem de Programação Comercial 
Prof. Charles Fortes 
Tipos
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);
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
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
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
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();
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.
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;
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
Linguagem de Programação Comercial 
Prof. Charles Fortes 
Reference Types X Value Types 
Comparações 
Quando utilizar um e o outro?
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!”
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
Linguagem de Programação Comercial 
Prof. Charles Fortes 
Collections
Linguagem de Programação Comercial 
Prof. Charles Fortes 
1. Tipos de Listas 
• Listas 
• Pilhas 
• Filas 
• Dicionários de Dados 
2. Listas Genéricas 
• List<t> 
3. Dicionários Genéricos 
• Dictionary<t, t> 
** Demonstração no Compilador **
Linguagem de Programação Comercial 
Prof. Charles Fortes 
Tratamento de Erros
Linguagem de Programação Comercial 
Prof. Charles Fortes 
Try || Catch || Finally || Exceptions 
Explicar na IDE
Linguagem de Programação Comercial 
Dúvidas? 
Prof. Charles Fortes

Weitere ähnliche Inhalte

Andere mochten auch

Sistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de RecursosSistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de RecursosCharles Fortes
 
Programação Genetica
Programação GeneticaProgramação Genetica
Programação GeneticaCharles Fortes
 
Sistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e ThreadsSistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e ThreadsCharles Fortes
 
Conceitos – Do Homem à Máquina
Conceitos – Do Homem à MáquinaConceitos – Do Homem à Máquina
Conceitos – Do Homem à MáquinaCharles Fortes
 
PE-I - Apresentação Professor
PE-I - Apresentação ProfessorPE-I - Apresentação Professor
PE-I - Apresentação ProfessorCharles Fortes
 
IA - Apresentação do Professor
IA - Apresentação do ProfessorIA - Apresentação do Professor
IA - Apresentação do ProfessorCharles Fortes
 
PE1 - Comandos de Decisão
PE1 - Comandos de DecisãoPE1 - Comandos de Decisão
PE1 - Comandos de DecisãoCharles Fortes
 
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosPitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosCharles Fortes
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosCharles Fortes
 
inteligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãointeligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãoCharles Fortes
 
IA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialIA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialCharles Fortes
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2lfernandomcj
 
Mini-curso codeIgniter - aula 1
Mini-curso codeIgniter - aula 1Mini-curso codeIgniter - aula 1
Mini-curso codeIgniter - aula 1lfernandomcj
 
Linguagem de Programação Comercial
Linguagem de Programação ComercialLinguagem de Programação Comercial
Linguagem de Programação ComercialTathiana Machado
 
Desenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniterDesenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniterPedro Junior
 
Sistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaSistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaCharles Fortes
 
Apresentação prof e materia
Apresentação prof e materiaApresentação prof e materia
Apresentação prof e materiaCharles Fortes
 
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5QuintusIntrodução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5QuintusCharles Fortes
 

Andere mochten auch (20)

Sistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de RecursosSistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de Recursos
 
Programação Genetica
Programação GeneticaProgramação Genetica
Programação Genetica
 
Sistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e ThreadsSistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e Threads
 
Conceitos – Do Homem à Máquina
Conceitos – Do Homem à MáquinaConceitos – Do Homem à Máquina
Conceitos – Do Homem à Máquina
 
PE-I - Apresentação Professor
PE-I - Apresentação ProfessorPE-I - Apresentação Professor
PE-I - Apresentação Professor
 
IA - Apresentação do Professor
IA - Apresentação do ProfessorIA - Apresentação do Professor
IA - Apresentação do Professor
 
PE1 - Comandos de Decisão
PE1 - Comandos de DecisãoPE1 - Comandos de Decisão
PE1 - Comandos de Decisão
 
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosPitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
 
inteligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãointeligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineração
 
IA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialIA - Introdução Inteligência Artificial
IA - Introdução Inteligência Artificial
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2
 
Introdução ao DDD
Introdução ao DDDIntrodução ao DDD
Introdução ao DDD
 
Mini-curso codeIgniter - aula 1
Mini-curso codeIgniter - aula 1Mini-curso codeIgniter - aula 1
Mini-curso codeIgniter - aula 1
 
Linguagem de Programação Comercial
Linguagem de Programação ComercialLinguagem de Programação Comercial
Linguagem de Programação Comercial
 
Desenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniterDesenvolvimento web com CodeIgniter
Desenvolvimento web com CodeIgniter
 
Sistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaSistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - Concorrência
 
Apresentação prof e materia
Apresentação prof e materiaApresentação prof e materia
Apresentação prof e materia
 
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5QuintusIntrodução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
 
Lambda Expressions
Lambda ExpressionsLambda Expressions
Lambda Expressions
 

Ähnlich wie LPC - aula 1 - Introdução .NET

Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6Fabio Spanhol
 
Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraDextra
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6 Fabio Spanhol
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamenteRodrigo Amaral
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5Fabio Spanhol
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2Fabio Spanhol
 
Algoritomos aula 3 rafael
Algoritomos aula 3 rafaelAlgoritomos aula 3 rafael
Algoritomos aula 3 rafaelhugodrocha
 
Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Fabio Spanhol
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4Fabio Spanhol
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem corvel
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Luiz Aldabalde
 
Php Conf08 Refactoring
Php Conf08 RefactoringPhp Conf08 Refactoring
Php Conf08 RefactoringWildtech
 
P10 dev studio
P10 dev studioP10 dev studio
P10 dev studioPirata Mao
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP IPatrícia Melo
 

Ähnlich wie LPC - aula 1 - Introdução .NET (20)

Python Training #1, ed. 6
Python Training #1, ed. 6Python Training #1, ed. 6
Python Training #1, ed. 6
 
Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails Dextra
 
Python Training #1 ed.6
Python Training #1 ed.6 Python Training #1 ed.6
Python Training #1 ed.6
 
Python: programação divertida novamente
Python: programação divertida novamentePython: programação divertida novamente
Python: programação divertida novamente
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
1º FasS2B 2010
1º FasS2B 20101º FasS2B 2010
1º FasS2B 2010
 
Python Training #1 - ed5
Python Training #1 - ed5Python Training #1 - ed5
Python Training #1 - ed5
 
Tutorial Python ed. #2
Tutorial Python ed. #2Tutorial Python ed. #2
Tutorial Python ed. #2
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Python tutorial-ed3
Python tutorial-ed3Python tutorial-ed3
Python tutorial-ed3
 
Algoritomos aula 3 rafael
Algoritomos aula 3 rafaelAlgoritomos aula 3 rafael
Algoritomos aula 3 rafael
 
Python Training #0.5 ed. 7
Python Training #0.5 ed. 7Python Training #0.5 ed. 7
Python Training #0.5 ed. 7
 
Python Training #1 - ed4
Python Training #1 - ed4Python Training #1 - ed4
Python Training #1 - ed4
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
 
Php Conf08 Refactoring
Php Conf08 RefactoringPhp Conf08 Refactoring
Php Conf08 Refactoring
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
P10 dev studio
P10 dev studioP10 dev studio
P10 dev studio
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Conceitos Iniciais LP I
Conceitos Iniciais LP IConceitos Iniciais LP I
Conceitos Iniciais LP I
 

Mehr von Charles Fortes

Acesso a banco de dados com entity framework
Acesso a banco de dados com entity frameworkAcesso a banco de dados com entity framework
Acesso a banco de dados com entity frameworkCharles Fortes
 
Economia global: França e Inglaterra
Economia global: França e InglaterraEconomia global: França e Inglaterra
Economia global: França e InglaterraCharles Fortes
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalCharles Fortes
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosCharles Fortes
 
Sistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareSistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareCharles Fortes
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisCharles Fortes
 
Sistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SOSistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SOCharles Fortes
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguroCharles Fortes
 

Mehr von Charles Fortes (8)

Acesso a banco de dados com entity framework
Acesso a banco de dados com entity frameworkAcesso a banco de dados com entity framework
Acesso a banco de dados com entity framework
 
Economia global: França e Inglaterra
Economia global: França e InglaterraEconomia global: França e Inglaterra
Economia global: França e Inglaterra
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Sistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareSistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e Software
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
 
Sistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SOSistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SO
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguro
 

LPC - aula 1 - Introdução .NET

  • 1. Linguagem de Programação Comercial Prof. Charles Fortes Introdução .NET e C#
  • 2. Linguagem de Programação Comercial Prof. Charles Fortes Sobre o Professor
  • 3. Linguagem de Programação Comercial Prof. Charles Fortes Charles Fortes
  • 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
  • 7. Linguagem de Programação Comercial Prof. Charles Fortes Visão Geral
  • 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
  • 14. Linguagem de Programação Comercial Prof. Charles Fortes Tipos
  • 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
  • 26. Linguagem de Programação Comercial Prof. Charles Fortes Collections
  • 27. Linguagem de Programação Comercial Prof. Charles Fortes 1. Tipos de Listas • Listas • Pilhas • Filas • Dicionários de Dados 2. Listas Genéricas • List<t> 3. Dicionários Genéricos • Dictionary<t, t> ** Demonstração no Compilador **
  • 28. Linguagem de Programação Comercial Prof. Charles Fortes Tratamento de Erros
  • 29. Linguagem de Programação Comercial Prof. Charles Fortes Try || Catch || Finally || Exceptions Explicar na IDE
  • 30. Linguagem de Programação Comercial Dúvidas? Prof. Charles Fortes