SlideShare uma empresa Scribd logo
1 de 15
Linguagem de programação 4
Daniel de Sena Araújo
Escola Técnica CEPEP
Agenda
• Tipo valor;
• Tipo referência;
• ref;
• out;
• object;
• box;
• unbox.
Tipos valor
• Tipos de dados primitivos;
• No momento da declaração da variável, um
espaço suficiente para armazenar aquele tipo
de dado é alocado na memória;
• No momento da atribuição de valor a variável,
o valor é copiado para esse espaço na
memória.
Tipos referência
• Tipos de classe;
• No momento da declaração de um objeto, o
compilador aloca uma pequena porção da
memória suficiente para armazenar um
endereço de memória;
• No momento da criação do objeto, um espaço
na memória é alocado para ele, e o endereço
desse espaço é gravado na primeira porção de
memória alocada.
Parâmetros ref e out
• Quando você passa um argumento por
parâmetro para um método, independente do
tipo (valor ou referência), o parâmetro é
iniciado com uma cópia do argumento.
Parâmetros ref e out
static void Inc(int p)
{
p++;
}
static void Main()
{
int i = 42;
Inc(i);
Console.WriteLine(i);
}
ref
• Usando a palavra ref como prefixo de um
parâmetro, o parâmetro torna-se uma
referência ao argumento real em vez de uma
cópia do argumento.
Parâmetros ref
static void Inc(ref int p)
{
p++;
}
static void Main()
{
int i = 42;
Inc(ref i);
Console.WriteLine(i);
}
out
• A palavra chave out é uma abreviação de
output (saída). Quando você passa um
parâmetro out para um método, o método
tem que atribuir um valor a ele.
Parâmetros out
static void Inc(ref int p)
{
p++;
}
static void Main()
{
int i = 42;
Inc(ref i);
Console.WriteLine(i);
}
Classe System.Object
• Um dos tipos referência mais importantes do
.NET Framework;
• Todas as classes herdam da System.Object;
• É possível criar uma variável do tipo Object e
usar para referenciar qualquer tipo de objeto;
• Para criar uma variável do tipo System.Object,
podemos utilizar a palavra reservada object.
Box
• Box: Cópia automática de um valor
armazenado na pilha para o heap;
• Exemplo:
int i = 10;
object o = i;
Unbox
• Unbox: Extração do valor armazenado no
heap para a pilha;
• Exemplo:
object o = 10;
int i = (int)o;
• Email:
danieldesenaaraujo@gmail.com
• GitHub:
https://github.com/danieldesenaaraujo
• SlideShare:
http://pt.slideshare.net/danieldesenaaraujo
Fim

Mais conteúdo relacionado

Mais procurados

E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11Ismar Silveira
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com PythonJardel Weyrich
 
Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Alex Camargo
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IVGabriel Faustino
 
Laboratório de Programação II: Threads
Laboratório de Programação II: ThreadsLaboratório de Programação II: Threads
Laboratório de Programação II: ThreadsAlex Camargo
 
Revisão sobre ponteiros em C
Revisão sobre ponteiros em CRevisão sobre ponteiros em C
Revisão sobre ponteiros em CPablo Silva
 
5 paradigma funcional usando haskell
5 paradigma funcional usando haskell5 paradigma funcional usando haskell
5 paradigma funcional usando haskellPéricles Miranda
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8Ismar Silveira
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: IntroduçãoWesley R. Bezerra
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonAlvaro Oliveira
 

Mais procurados (18)

E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Programação C - Aula 2
Programação C - Aula 2Programação C - Aula 2
Programação C - Aula 2
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
 
2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python2016/01/27 - Aprendendo a programar com Python
2016/01/27 - Aprendendo a programar com Python
 
Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *Laboratório de Programação II: Uso do ponteiro void *
Laboratório de Programação II: Uso do ponteiro void *
 
Programando com Python
Programando com PythonProgramando com Python
Programando com Python
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IV
 
Laboratório de Programação II: Threads
Laboratório de Programação II: ThreadsLaboratório de Programação II: Threads
Laboratório de Programação II: Threads
 
Revisão sobre ponteiros em C
Revisão sobre ponteiros em CRevisão sobre ponteiros em C
Revisão sobre ponteiros em C
 
5 paradigma funcional usando haskell
5 paradigma funcional usando haskell5 paradigma funcional usando haskell
5 paradigma funcional usando haskell
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8Paradigmas de Linguagens de Programacao- Aula #8
Paradigmas de Linguagens de Programacao- Aula #8
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 

Destaque

Projeto clássico infantil slides
Projeto clássico infantil slidesProjeto clássico infantil slides
Projeto clássico infantil slidesDeborah Bitinia
 
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...José Augusto
 
Projeto literatura infantil
Projeto literatura infantilProjeto literatura infantil
Projeto literatura infantilShirley Costa
 
10 projeto literatura, conecendo os principais autores
10 projeto literatura, conecendo os principais autores10 projeto literatura, conecendo os principais autores
10 projeto literatura, conecendo os principais autoresjuniorfuleragem
 
Projeto Contos Infantis- Ensino Fundamental
Projeto Contos Infantis- Ensino FundamentalProjeto Contos Infantis- Ensino Fundamental
Projeto Contos Infantis- Ensino FundamentalLuciene Silva
 
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."Tatiane Gomes
 
Projeto de Leitura: Minha Escola Lê
Projeto de Leitura: Minha Escola LêProjeto de Leitura: Minha Escola Lê
Projeto de Leitura: Minha Escola LêCirlei Santos
 
Apresentaçãp projeto de leitura nos anos iniciais
Apresentaçãp projeto de leitura nos anos iniciaisApresentaçãp projeto de leitura nos anos iniciais
Apresentaçãp projeto de leitura nos anos iniciaisleao162010
 
Projeto de Leitura - "Maleta de leitura"
Projeto de Leitura - "Maleta de leitura"Projeto de Leitura - "Maleta de leitura"
Projeto de Leitura - "Maleta de leitura"Cirlei Santos
 

Destaque (11)

Contos de fadas
Contos de fadasContos de fadas
Contos de fadas
 
Projeto clássico infantil slides
Projeto clássico infantil slidesProjeto clássico infantil slides
Projeto clássico infantil slides
 
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...
A psicanálise dos Contos de Fadas e importância dos contos na infância e na e...
 
Projeto Leitura- conto de fadas
Projeto Leitura- conto de fadasProjeto Leitura- conto de fadas
Projeto Leitura- conto de fadas
 
Projeto literatura infantil
Projeto literatura infantilProjeto literatura infantil
Projeto literatura infantil
 
10 projeto literatura, conecendo os principais autores
10 projeto literatura, conecendo os principais autores10 projeto literatura, conecendo os principais autores
10 projeto literatura, conecendo os principais autores
 
Projeto Contos Infantis- Ensino Fundamental
Projeto Contos Infantis- Ensino FundamentalProjeto Contos Infantis- Ensino Fundamental
Projeto Contos Infantis- Ensino Fundamental
 
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."
Apresentação do Projeto:"Eu imagino,reconto e aprendo com os Contos de Fadas."
 
Projeto de Leitura: Minha Escola Lê
Projeto de Leitura: Minha Escola LêProjeto de Leitura: Minha Escola Lê
Projeto de Leitura: Minha Escola Lê
 
Apresentaçãp projeto de leitura nos anos iniciais
Apresentaçãp projeto de leitura nos anos iniciaisApresentaçãp projeto de leitura nos anos iniciais
Apresentaçãp projeto de leitura nos anos iniciais
 
Projeto de Leitura - "Maleta de leitura"
Projeto de Leitura - "Maleta de leitura"Projeto de Leitura - "Maleta de leitura"
Projeto de Leitura - "Maleta de leitura"
 

Semelhante a Valores e referências

Semelhante a Valores e referências (20)

Ed1
Ed1Ed1
Ed1
 
Ponteiros e Alocação Dinâmica
Ponteiros e Alocação DinâmicaPonteiros e Alocação Dinâmica
Ponteiros e Alocação Dinâmica
 
Aula3PythonBasico.ppt
Aula3PythonBasico.pptAula3PythonBasico.ppt
Aula3PythonBasico.ppt
 
Aula3PythonBasico (1).ppt
Aula3PythonBasico (1).pptAula3PythonBasico (1).ppt
Aula3PythonBasico (1).ppt
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Introdução ao Java 5
Introdução ao Java 5Introdução ao Java 5
Introdução ao Java 5
 
Aula 6 pc - slides
Aula 6   pc - slidesAula 6   pc - slides
Aula 6 pc - slides
 
Ud3
Ud3Ud3
Ud3
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)
 
Introducao Google GO
Introducao Google GOIntroducao Google GO
Introducao Google GO
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#Curso de OO com C# - Parte 02 - Introdução ao C#
Curso de OO com C# - Parte 02 - Introdução ao C#
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Aula02
Aula02Aula02
Aula02
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Aula 7 pc - estrutura
Aula 7   pc - estruturaAula 7   pc - estrutura
Aula 7 pc - estrutura
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Automacao com Python.pdf
Automacao com Python.pdfAutomacao com Python.pdf
Automacao com Python.pdf
 

Mais de Daniel Araújo

Enumerações e estruturas
Enumerações e estruturasEnumerações e estruturas
Enumerações e estruturasDaniel Araújo
 
Instruções de iteração e atribuição composta
Instruções de iteração e atribuição compostaInstruções de iteração e atribuição composta
Instruções de iteração e atribuição compostaDaniel Araújo
 
Instruções de decisão
Instruções de decisãoInstruções de decisão
Instruções de decisãoDaniel Araújo
 
Curso C# - Métodos e escopo
Curso C# - Métodos e escopoCurso C# - Métodos e escopo
Curso C# - Métodos e escopoDaniel Araújo
 
Curso de C# - Variáveis, operadores e expressões
Curso de C# - Variáveis, operadores e expressõesCurso de C# - Variáveis, operadores e expressões
Curso de C# - Variáveis, operadores e expressõesDaniel Araújo
 
Curso de C# - Introdução
Curso de C# - IntroduçãoCurso de C# - Introdução
Curso de C# - IntroduçãoDaniel Araújo
 

Mais de Daniel Araújo (8)

Enumerações e estruturas
Enumerações e estruturasEnumerações e estruturas
Enumerações e estruturas
 
Classes e objetos
Classes e objetosClasses e objetos
Classes e objetos
 
Erros e exceções
Erros e exceçõesErros e exceções
Erros e exceções
 
Instruções de iteração e atribuição composta
Instruções de iteração e atribuição compostaInstruções de iteração e atribuição composta
Instruções de iteração e atribuição composta
 
Instruções de decisão
Instruções de decisãoInstruções de decisão
Instruções de decisão
 
Curso C# - Métodos e escopo
Curso C# - Métodos e escopoCurso C# - Métodos e escopo
Curso C# - Métodos e escopo
 
Curso de C# - Variáveis, operadores e expressões
Curso de C# - Variáveis, operadores e expressõesCurso de C# - Variáveis, operadores e expressões
Curso de C# - Variáveis, operadores e expressões
 
Curso de C# - Introdução
Curso de C# - IntroduçãoCurso de C# - Introdução
Curso de C# - Introdução
 

Último

Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...AndreaCavalcante14
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfHELENO FAVACHO
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdfmarlene54545
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxReinaldoMuller1
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2Maria Teresa Thomaz
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffNarlaAquino
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfRavenaSales1
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 

Último (20)

Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 

Valores e referências

  • 1. Linguagem de programação 4 Daniel de Sena Araújo Escola Técnica CEPEP
  • 2. Agenda • Tipo valor; • Tipo referência; • ref; • out; • object; • box; • unbox.
  • 3. Tipos valor • Tipos de dados primitivos; • No momento da declaração da variável, um espaço suficiente para armazenar aquele tipo de dado é alocado na memória; • No momento da atribuição de valor a variável, o valor é copiado para esse espaço na memória.
  • 4. Tipos referência • Tipos de classe; • No momento da declaração de um objeto, o compilador aloca uma pequena porção da memória suficiente para armazenar um endereço de memória; • No momento da criação do objeto, um espaço na memória é alocado para ele, e o endereço desse espaço é gravado na primeira porção de memória alocada.
  • 5. Parâmetros ref e out • Quando você passa um argumento por parâmetro para um método, independente do tipo (valor ou referência), o parâmetro é iniciado com uma cópia do argumento.
  • 6. Parâmetros ref e out static void Inc(int p) { p++; } static void Main() { int i = 42; Inc(i); Console.WriteLine(i); }
  • 7. ref • Usando a palavra ref como prefixo de um parâmetro, o parâmetro torna-se uma referência ao argumento real em vez de uma cópia do argumento.
  • 8. Parâmetros ref static void Inc(ref int p) { p++; } static void Main() { int i = 42; Inc(ref i); Console.WriteLine(i); }
  • 9. out • A palavra chave out é uma abreviação de output (saída). Quando você passa um parâmetro out para um método, o método tem que atribuir um valor a ele.
  • 10. Parâmetros out static void Inc(ref int p) { p++; } static void Main() { int i = 42; Inc(ref i); Console.WriteLine(i); }
  • 11. Classe System.Object • Um dos tipos referência mais importantes do .NET Framework; • Todas as classes herdam da System.Object; • É possível criar uma variável do tipo Object e usar para referenciar qualquer tipo de objeto; • Para criar uma variável do tipo System.Object, podemos utilizar a palavra reservada object.
  • 12. Box • Box: Cópia automática de um valor armazenado na pilha para o heap; • Exemplo: int i = 10; object o = i;
  • 13. Unbox • Unbox: Extração do valor armazenado no heap para a pilha; • Exemplo: object o = 10; int i = (int)o;
  • 15. Fim