terça-feira, 14 de agosto de 2007

IT: AS no C#

Voce sabia que existe a palavra reservada AS no C# tambem?

Para quem programa em VB.NET esta acostumado com dim objeto as classe.

No entanto no C#, o uso desse comando nao eh o mesmo. Ele eh bastante util para conversao de tipos "suspeitos", ou seja, ele tenta converter o objeto para aquele tipo, caso nao consiga ele retorna null ao inves de lancar uma cast exception. Veja um exemplo:

imagine que voce quer jogar para a variavel s algum objeto qualquer e voce nao tem certeza se ele eh do tipo string, use:

string s = someobject as string

se a conversao nao for possivel , a variavel s ficara como null. Evita algumas linhas de Ifs.
eh uma verdadeida mao na roda.

3 comentários:

Rodrigo Kono disse...

No caso ele acaba servindo de CType ou de Cast. =)

Jack disse...

E viva ao ducktyping.
Só vale lembrar que por exemplo, em uma conversão de string para números o cast nunca é a melhor opção (nem o as), mas sim o "int.TryParse" que irá tentar converter a string para inteiro.

A diferença é na elegância (podem chamar de programador metrossexual se desejarem hehe) do código.
Vejam:

if(int.TryParse(varString, varInt)){
fazAlgumaCoisa(varInt)
}
else{
throw new StringNaoNumericaException()
}

Isso é muito mais fácil de entender para quem não conhece o código do que um "int i = varString as Integer". É muito mais "explícito"...isso aí vai servir para Doubles e etc.

Unknown disse...

Interessante mais uma para anotar no caderninho...