Quantcast
Channel: Douglas Cunha » C#
Viewing all articles
Browse latest Browse all 6

C# para programadores Delphi – Tipos enumerados

$
0
0

Estou me aventurando pelo mundo do C#. Sim, desenvolvendo em plataforma Microsoft, quem diria..

A experiência acumulada como programador em Delphi e outras linguagens muitas vezes ajuda, pois já tenho mais ou menos uma idéia de como fazer a maioria das coisas. Ou pelo menos uma idéia de como procurar a resposta. Mas isso é mais difícil quando alguma característica muda drasticamente de uma linguagem para outra.

O que eu pretendo fazer a partir de agora é documentar aqui as características que encontrar no C# que eu julgar que vale a pena comparar com o correspondente em Delphi, tanto por ser semelhante, quanto por ser diferente (e me ter tomado mais tempo do que deveria). Sim, às vezes já saber fazer de um outro jeito nos faz meio “viciados”, e demoramos mais a achar a solução do que se não soubéssemos de forma alguma.

Mas vamos ao primeiro assunto.

Tipos enumerados

O primeiro item que me chamou atenção foram os tipos enumerados. Embora não pareça ter muita importância, tipos enumerados são usados para todos os lados, principalmente como parâmetros de entrada de métodos que podem se comportar de mais de uma forma. Então, saber utilizá-los vai sim adiantar o aprendizado.

Os tipos enumerados do Delphi não têm exatamente a mesma estrutura no .NET Framework. Os itens de um tipo enumerado são usados no Delphi como se fossem um conjunto de constantes, acessadas diretamente e internamente representam um valor inteiro. Como são acessadas diretamente, alguns programadores várias constantes mais comuns por anos sem sequer saber o que é um tipo enumerado.

Exemplo:
{ Declaração do tipo; internamente os valores equivalem a 0, 1 e 2 }
TFruta = (fBanana, fMaca, fManga)
...
var fruta = TFruta;  // Variável do tipo TFruta
begin
fruta := fBanana;  // Atribuição do valor do tipo TFruta à variável
...
end;

Em C# a coisa é um pouco mais “OO-like”. Os tipos enumerados não são simplesmente um tipo, são uma classe, com seus membros sendo os valores possíveis. Então por exemplo, um tipo enumerado Fruta semelhante ao descrito acima, seria acessado assim:

/* Declaração da variável e atribuição do valor */
Fruta fruta = Fruta.Banana;

Os valores são acessados usando <NOME DA CLASSE>.<ITEM DESEJADO>. Dessa forma, além de definir de forma clara qual o domínio daquela constante, definindo as constantes dessa forma evita o conflito de nomes, ou seja, tipos enumerados diferentes contendo constantes com o mesmo nome, significando coisas diferentes.

Aprenda A Programar Em C, C++ E C# - 2ª Edição - Rosângela Hickson

Aprenda A Programar Em C, C++ E C# - 2ª Edição - Rosângela Hickson

C# 2008 Para Leigos

C# 2008 Para Leigos

C# como programar - Harvey M. Deitel

C# como programar - Harvey M. Deitel



Posts relacionados


Viewing all articles
Browse latest Browse all 6

Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Trending Articles


Ang Nobela sa “From Darna to ZsaZsa Zaturnnah: Desire and Fantasy, Essays on...


Lola Bunny para colorear


Dino Rey para colorear


Girasoles para colorear


Dibujos de animales para imprimir


Renos para colorear


Dromedario para colorear


Love Quotes Tagalog


Mga Patama Quotes at Pamatay Banat Quotes


RE: Mutton Pies (mely)


Gwapo Quotes : Babaero Quotes


Kung Fu Panda para colorear


Libros para colorear


Mandalas de flores para colorear


Dibujos para colorear de perros


Toro para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Long Distance Relationship Tagalog Love Quotes


Love Quotes Tagalog


Mga Tala sa “Unang Siglo ng Nobela sa Filipinas” (2009) ni Virgilio S. Almario





Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC