Csharp/CSharp Tutorial/Data Type/checked

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

A Checked Block Example

public class Program
{
  public static void Main()
  {
      checked
      {
          // int.MaxValue equals 2147483647
          int n = int.MaxValue;
          n = n + 1 ;
          System.Console.WriteLine(n);
      }
  }
}

Mark code block as checked

using System;
class MainClass
{
    public static void Main()
    {
        byte val1 = 200;
        byte val2 = 201;
        byte sum = (byte) (val1 + val2);   // no exception
        checked
        {
            byte sum2 = (byte) (val1 + val2);      // exception
        }
    }
}
Unhandled Exception: System.OverflowException: Arithmetic operation resulted in an overflow.
   at MainClass.Main()

Numeric Addition overflow for a byte

using System;
class MainClass
{
    public static void Main()
    {
        byte val1 = 200;
        byte val2 = 201;
        byte sum = (byte) (val1 + val2);   // no exception
        checked
        {
            byte sum2 = (byte) (val1 + val2);      // exception
        }
    }
}