Parece una tontería más que sabida, pero me ha costado un ratillo dar con ello.
No se puede hacer un casting directo. Hay que usar la clase Convert.
Dejemos que el código hable:
Program
class
{
static void Main(string[] args)
{
Console.WriteLine(“Conversión de int a bool:”);
Console.WriteLine(“Cero es False”);
Console.WriteLine(“0 -> “ + Convert.ToBoolean(0));
Console.WriteLine(“Cualquier valor distinto de cero es True”);
Console.WriteLine(“1 -> “ + Convert.ToBoolean(1));
Console.WriteLine(“-1 -> “ + Convert.ToBoolean(-1));
Console.WriteLine(“2 -> “ + Convert.ToBoolean(2));
Console.WriteLine(“Conversión de bool a int:”);
Console.WriteLine(“True -> “ + Convert.ToInt16(true));
Console.WriteLine(“False -> “ + Convert.ToInt16(false));
Console.ReadKey();
}
}
CrossPosted from AvaBloggers