Hay otra gran diferencia que acabo de descubrir y creo que vale la pena mencionar aquí, ¡aunque varios años después del OP! CInt({Boolean expression})
evalúa a -1 cuando True
, mientras que Convert.ToInt<n>
evalúa a 1.
Esto podría atrapar a nadie que está acostumbrado a éste en las evaluaciones de matemáticas, EG:
For i As Integer = 0 To 1 - CInt(processThirdItem) 'Evaluates to -1 (1 - -1 = 2)
'Do stuff...
Next
Por lo tanto, el uso de Convert.ToInt32
en lugar de CInt
wouldn No funciona a menos que haya cambiado el operador de -
a +
.
Por supuesto función de .NET cortocircuitado If
ofrece ahora una mejor manera de hacer esto:
For i As Integer = 0 to If(processThirdItem, 2, 1)
'Do stuff...
Next
Huh: usted hizo su edición mientras yo estaba investigando mi post - sobre todo buscando (y de no encontrar) el enlace de referencia que mencioné. Es gracioso porque tu enlace es el seguimiento del mismo autor al que publiqué. Si haces otra edición para incluir ambas eliminaré mi publicación a favor de la tuya. –
Hecho, pero no me ofendería si lo editaras en tu conocimiento :) – annakata
Me encantó el resumen de Joel. Gracias – Sung