欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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關(guān)鍵字。

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

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

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

  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

相關(guān)文章

  • 基于WPF開發(fā)txt閱讀器

    基于WPF開發(fā)txt閱讀器

    這篇文章主要為大家詳細(xì)介紹了如何基于WPF開發(fā)一個簡單的txt閱讀器,可以滿足文本文件的讀寫和保存,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • C# WinForm狀態(tài)欄實時顯示當(dāng)前時間(窗體狀態(tài)欄StatusStrip示例)

    C# WinForm狀態(tài)欄實時顯示當(dāng)前時間(窗體狀態(tài)欄StatusStrip示例)

    這篇文章主要介紹了C# WinForm狀態(tài)欄實時顯示當(dāng)前時間(窗體狀態(tài)欄StatusStrip示例),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • .NET使用C#設(shè)置Excel單元格數(shù)值格式

    .NET使用C#設(shè)置Excel單元格數(shù)值格式

    這篇文章主要為大家詳細(xì)介紹了如何使用C#在.NET程序中實現(xiàn)對Excel單元格數(shù)字格式的設(shè)置,幫助實現(xiàn)更完善的Excel文件處理,感興趣的小伙伴可以了解下
    2024-12-12
  • WinForm實現(xiàn)自定義右下角提示效果的方法

    WinForm實現(xiàn)自定義右下角提示效果的方法

    這篇文章主要介紹了WinForm實現(xiàn)自定義右下角提示效果的方法,涉及WinForm自定義提示效果的實現(xiàn)方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • c# 利用易福門振動模塊VSE002采集振動數(shù)據(jù)的方法

    c# 利用易福門振動模塊VSE002采集振動數(shù)據(jù)的方法

    這篇文章主要介紹了c# 利用易福門振動模塊VSE002采集振動數(shù)據(jù)的方法,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • C#中Clone一個對象的值到另一個對象案例

    C#中Clone一個對象的值到另一個對象案例

    這篇文章主要介紹了C#中Clone一個對象的值到另一個對象案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • C#中的尾遞歸與Continuation詳解

    C#中的尾遞歸與Continuation詳解

    這篇文章主要介紹了C#中的尾遞歸與Continuation詳解,本文講解了遞歸與尾遞歸、尾遞歸與Continuation、Continuation的改進(jìn)等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • C#集合本質(zhì)之堆棧的用法詳解

    C#集合本質(zhì)之堆棧的用法詳解

    本文詳細(xì)講解了C#集合本質(zhì)之堆棧的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • 不使用qvod播放器獲取qvod播放路徑的方法

    不使用qvod播放器獲取qvod播放路徑的方法

    這篇文章主要介紹了使用c#獲取qvod播放路徑的方法,大家參考使用吧
    2014-01-01
  • C#中GraphicsPath的Warp方法用法實例

    C#中GraphicsPath的Warp方法用法實例

    這篇文章主要介紹了C#中GraphicsPath的Warp方法用法,實例分析了Warp方法的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06

最新評論