最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#入門之checked和unchecked的區(qū)別實例解析

 更新時間:2014年08月13日 09:56:14   投稿:shichen2014  
這篇文章主要介紹了C#中checked和unchecked的區(qū)別,是學習C#必須要牢固掌握的,需要的朋友可以參考下

本文以實例形式對比測試了C#中checked和unchecked的區(qū)別,對于C#初學者來說有很好的借鑒參考價值。具體分析如下:

int類型的最大值是2147483647,2個最大值相加就會超出int的最大值,即出現(xiàn)溢出。

  class Program
  {
    static void Main(string[] args)
    {
      int y = 2147483647;
      int x = 2147483647;
      int z = x + y;
      Console.WriteLine(z.ToString());
      Console.ReadKey();
    }
  }

把斷點打在 int z = x + y;代碼行,單步調(diào)試,可以看到z的值為-2。因為int類型的最大值是2147483647,x + y超出了最大值,出現(xiàn)了溢出。

程序運行效果如下圖所示:

一、使用checked:

如果我們想讓編譯器幫我們判斷是否溢出,就使用checked關鍵字。

  class Program
  {
    static void Main(string[] args)
    {
      int y = 2147483647;
      int x = 2147483647;
      int z = checked(x + y);
    }
  }

運行后拋出溢出異常,運行結(jié)果如下圖所示:

如果我們想手動捕獲并打印異常,應該這樣寫:

  class Program
  {
    static void Main(string[] args)
    {
      int y = 2147483647;
      int x = 2147483647;
      try
      {
        int z = checked(x + y);
      }
      catch (OverflowException ex)
      {
        Console.WriteLine(ex.Message);
      }
      Console.ReadKey();
    }
  }

運行結(jié)果如下圖所示:

二、使用unchecked:

使用unchecked不會拋出溢出異常。

  class Program
  {
    static void Main(string[] args)
    {
      int y = 2147483647;
      int x = 2147483647;
      int z = unchecked(x + y);
      Console.WriteLine(z.ToString());
      Console.ReadKey();
    }
  }

結(jié)果為:-2

相關文章

最新評論

璧山县| 郧西县| 高州市| 禹州市| 邹平县| 乐至县| 罗定市| 张掖市| 简阳市| 云林县| 邳州市| 金寨县| 芦溪县| 漳浦县| 宁国市| 金湖县| 萝北县| 香河县| 顺昌县| 崇义县| 永嘉县| 章丘市| 准格尔旗| 蚌埠市| 合肥市| 卢龙县| 屯门区| 贵州省| 大丰市| 德钦县| 明光市| 泾阳县| 重庆市| 德化县| 邢台市| 门头沟区| 延安市| 富裕县| 大姚县| 巴林左旗| 兴业县|