/* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // Demonstrate casting. using System; public class CastDemo { public static void Main() { double x, y; byte b; int i; char ch; uint u; short s; long l; x = 10.0; y = 3.0; // cast an int into a double i = (int) (x / y); // cast double to int, fractional component lost Console.WriteLine("Integer outcome of x / y: " + i); Console.WriteLine(); // cast an int into a byte, no data lost i = 255; b = (byte) i; Console.WriteLine("b after assigning 255: " + b + " -- no data lost."); // cast an int into a byte, data lost i = 257; b = (byte) i; Console.WriteLine("b after assigning 257: " + b + " -- data lost."); Console.WriteLine(); // cast a uint into a short, no data lost u = 32000; s = (short) u; Console.WriteLine("s after assigning 32000: " + s + " -- no data lost."); // cast a uint into a short, data lost u = 64000; s = (short) u; Console.WriteLine("s after assigning 64000: " + s + " -- data lost."); Console.WriteLine(); // cast a long into a uint, no data lost l = 64000; u = (uint) l; Console.WriteLine("u after assigning 64000: " + u + " -- no data lost."); // cast a long into a uint, data lost l = -12; u = (uint) l; Console.WriteLine("u after assigning -12: " + u + " -- data lost."); Console.WriteLine(); // cast an int into a char b = 88; // ASCII code for X ch = (char) b; Console.WriteLine("ch after assigning 88: " + ch); } }