Com este artigo, inicio uma série que pretende cobrir os principais aspectos da .NET Framework 3.5. Evidentemente que já está disponível aos desenvolvedores a versão 4.0 da Framework, entretato, algumas características não foram alteradas e, dominando estes conceitos na plataforma 3.5, o desenvolvedor estará apto a trabalhar com os mesmos na nova plartaforma.
Um dos principais objetivos desta série de artigos é auxilixar profissionais de desenvolvimento que estão migrando para a plataforma .NET e/ou estão estudando para as provas de Certificação da Microsoft. Estes primeiros conceitos são tratados na prova 70-536.
Nestes artigos, assumo que você já possua conhecimentos básicos de programação estruturada e de orientação a objetos, assim, não me aterei nestes detalhes. Caso você esteja iniciando no mundo de desenvolvimento de softwares, aconselho assistir as vídeo aulas (disponíveis neste site) bem como realizar a leitura da série de artigos sobre orientação a objetos (também disponível na seção de artigos deste site).
Entendendo Value Types
Quando o assunto é o gerenciamento dos dados, o .NET Framework trabalha com dois conceitos básicos: dados do tipo Value Type (VT) e dados do tipo Reference Type (RT). Na parte 2 deste artigo falaremos em detalhes sobre os RT’s.
Os VT’s são os tipos primitivos do .NET Framework. São os tipos mais simples para o gerenciamento dos dados nos aplicativos que rodam sobre a framework, principalmente valores numéricos e booleanos. São variáveis que acessam diretamente os valores ao invés de conter uma referência para estes valores (conceito de RT’s).
As variáveis VT’s são armazenadas temporariamente em uma região de memória conhecida como Stack (Pilha) sendo que o RunTime da framework grava, lê, atualiza e remove os valores diretamente nesta região.
Existes três formas de trabalharmos com os VT’s. São elas:
- Tipos primitivos (Built-in types)
- Tipos definidos pelo usuário (User-defined types)
- Enumeradores (Enumerators)
Trabalhando com Tipos Primitivos
Basicamente os tipos primitivos são aqueles que já vem incluídos na .NET framework e com os quais, se constroem todos os demais tipos de dados. Uma característica importante é que, no .NET todos os tipos numéricos são primitivos. A Figura 1 apresenta os principais VT’s do .NET Framework:
Figura 1: Tipos primitivos do .NET Framework
É importante frisar que o .NET Framework possui mais de 300 tipos primitivos, entretento, os principais encontram-se listados na Figura 1. Outra observação importante é que, todos os VT’s são derivados de System.Object.
Exemplo de declaração de VT’s:
bool status_processo = false;
int meuValor = 1234;
Trabalhando com Tipos Definidos pelo Usuário
Os tipos definidos pelo usuário são popularmente conhecidos como Estruturas (Structs / Structures). Seu funcionamento é semelhante ao de uma classe, entretanto, suas instâncias são armazenadas na Pilha, além de algumas outras limitações como: lógicamente representa um valor simples, suas instâncias podem ocupar apenas 16 bytes em memória, não é possível convertê-la em um RT no futuro, dentre outras. A Listagem 1 apresenta um exemplo de tipo de dado definido pelo usuário.
class Program
{
struct Simple
{
public int Position;
public bool Exists;
public double LastValue;
};
static void Main()
{
Simple s;
s.Position = 1;
s.Exists = false;
s.LastValue = 5.5;
}
}
Listagem 1: Exemplo de utilização das Estruturas
Trabalhando com Enumeradores
Enumeradores são conjuntos de dados que possuem valores fixos. Na verdade, os enumeradores são um conjunto de símbolos com valores fixos criados para auxiliar desenvolvedores no processo de construção de um software. A Listagem 2 apresenta um exemplo de enumerador na linguagem C#.
enum Titulos : int { Sr., Sra., Srta.}
Listagem 2: Exemplo da utlilização de enumeradores
Bom pessoal, por hoje é isso. No próximo artigo estudaremos os Reference Types e você não deve perder. Por favor, envie seus comentários para que eu possa melhorar cada vez mais a qualidade dos textos :-).
Facebook
Twitter
Instagram
LinkedIn
RSS