Valores e referências

189 visualizações

Publicada em

Escola Técnica CEPEP
Curso: Técnico de Informática
Disciplina: Linguagem de programação 4
Parte 8

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
189
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Valores e referências

  1. 1. Linguagem de programação 4 Daniel de Sena Araújo Escola Técnica CEPEP
  2. 2. Agenda • Tipo valor; • Tipo referência; • ref; • out; • object; • box; • unbox.
  3. 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. 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. 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. 6. Parâmetros ref e out static void Inc(int p) { p++; } static void Main() { int i = 42; Inc(i); Console.WriteLine(i); }
  7. 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. 8. Parâmetros ref static void Inc(ref int p) { p++; } static void Main() { int i = 42; Inc(ref i); Console.WriteLine(i); }
  9. 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. 10. Parâmetros out static void Inc(ref int p) { p++; } static void Main() { int i = 42; Inc(ref i); Console.WriteLine(i); }
  11. 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. 12. Box • Box: Cópia automática de um valor armazenado na pilha para o heap; • Exemplo: int i = 10; object o = i;
  13. 13. Unbox • Unbox: Extração do valor armazenado no heap para a pilha; • Exemplo: object o = 10; int i = (int)o;
  14. 14. • Email: danieldesenaaraujo@gmail.com • GitHub: https://github.com/danieldesenaaraujo • SlideShare: http://pt.slideshare.net/danieldesenaaraujo
  15. 15. Fim

×