Mega Code Archive

 
Categories / C# / Language Basics
 

Using checked and unchecked with statement blocks

/* C#: The Complete Reference  by Herbert Schildt  Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // Using checked and unchecked with statement blocks.    using System;    public class CheckedBlocks {     public static void Main() {       byte a, b;      byte result;        a = 127;      b = 127;         try {         unchecked {          a = 127;          b = 127;          result = unchecked((byte)(a * b));          Console.WriteLine("Unchecked result: " + result);            a = 125;          b = 5;          result = unchecked((byte)(a * b));          Console.WriteLine("Unchecked result: " + result);        }          checked {          a = 2;          b = 7;          result = checked((byte)(a * b)); // this is OK          Console.WriteLine("Checked result: " + result);            a = 127;          b = 127;          result = checked((byte)(a * b)); // this causes exception          Console.WriteLine("Checked result: " + result); // won't execute        }      }       catch (OverflowException exc) {         // catch the exception         Console.WriteLine(exc);      }     }   }