最新国产好看的视频,伊人天堂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的最大值,即出現溢出。

  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;代碼行,單步調試,可以看到z的值為-2。因為int類型的最大值是2147483647,x + y超出了最大值,出現了溢出。

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

一、使用checked:

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

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

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

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

  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();
    }
  }

運行結果如下圖所示:

二、使用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();
    }
  }

結果為:-2

相關文章

最新評論

德兴市| 新乡市| 清徐县| 高青县| 贞丰县| 咸阳市| 普兰县| 高州市| 长沙县| 南安市| 铅山县| 原平市| 蓝田县| 龙门县| 蚌埠市| 垣曲县| 稻城县| 虹口区| 巴楚县| 盐源县| 旌德县| 古田县| 阿尔山市| 偏关县| 布拖县| 乌审旗| 开江县| 固镇县| 个旧市| 巨鹿县| 会同县| 临夏县| 如皋市| 延长县| 额济纳旗| 盐津县| 历史| 泸州市| 万全县| 盖州市| 泉州市|