|
|
|
|
|
Dicas
|
|
Visual Basic (Datas/Números/Strings)
|
|
|
Título da Dica: Evitando conversões implicitas de variáveis
|
|
|
|
Postada em 1/9/2003 por Ð@®l@n
Como todos sabem o Vb possui um recurso muito interessante que é conhecido como conversão implicita de tipos de dados. Por exemplo :
Dim a as string dim b as integer
a="3" b=a*3
Esse código, que poderia parecer errado a muitos programadores, funcionará em VB. Isso porque ao observar que a variável A está em um contexto que exige que ela seja numérica o VB tenta converte-la. Como irá conseguir, o código funcionará normalmente, guardando 9 na variável B.
A questão é que a conversão implicita de valores consome performance. Assim sendo, quando deixamos que ela ocorra estamos gastando performance desnecessariamente. É muito importante que isso não ocorra em uma aplicação distribuida. Veja :
Dim a as integer, b as integer, c as integer
a=10 b=3 c=a/b
Observou as conversões implicitas que estão ocorrendo ? Não ? A e B serão convertidos para o tipo double para que a divisão (que é uma operação feita com números double, devido a seu resultado) possa ocorrer. O resultado, um double, precisará então ser convertido para inteiro para ser colocado na variável C.
Esse código seria muito mais "econômico" se fosse escrito da seguinte forma :
Dim a as integer, b as integer, c as integer
a=10 b=3 c=a\b
Notou a diferença ? Não ? A barra de divisão ao contrário representa uma divisão de inteiros, fazendo assim com que nenhuma conversão implicita ocorra nesta linha de código.
|
|
|
|
|