Conversão de Boolean para Numeric Type


Quando criamos uma variável do tipo Integer e atribuímos à essa variável o resultado de uma variável Booleana, há algumas diferenças: o False virá 0 e o True vira -1.

Dim boo As Boolean = True
Dim x As Integer = boo

Response.Write(x.ToString)
Response.Write(boo.ToString)
Response.Write(Convert.ToInt32(boo))

A saída será:

-1
True
1

Com essas conversões, talvez nos “embaralhamos” um pouco nas condicionais, que muitas vezes nos retornam um valor que não é o esperado.

Deixe uma resposta