日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

读经典——《CLR via C#》(Jeffrey Richter著) 笔记_基元类型(三)

發布時間:2025/7/14 C# 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_基元类型(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【checked?和?unchecked?基元類型操作】

1.第一種使用方式

UInt32 invalid = unchecked((UInt32) (-1)); //OK,不會拋異常 Byte b = 100; b = checked((Byte) (b + 200));//拋出OverflowException異常

2.第二種使用方式

checked {//開始一個checked塊Byte b = 100;b = (Byte) (b + 200);//該表達式會進行溢出檢查 }//結束一個checked塊

簡化寫法

checked {Byte b = 100; b +=200; }

【注意】

checked操作符 和 checked語句——唯一的作用就是決定生成哪個版本的加、減、乘和數據轉換IL指令,所以在一個checked操作符或者語句中調用一個方法,不會對該方法造成任何影響,如下例所示:

checked {//假定SomeMethod試圖把400加載到一個Byte中SomeMethod(400); //SomeMethod可能會、也可能不會拋出一個OverflowException異常 //如果SomeMethod 使用checked指令來編譯,就會拋出異常 //但這和當前的checked語句無關 }

?【建議】

1.盡量使用有符號數值類型,而不要使用無符號數值類型。

2.代碼中,將不希望溢出的部分放到一個checked塊中,同時捕捉OverflowException。

3.代碼中,將允許發生溢出的代碼顯示的放到一個unchecked塊中。

4.對于沒有使用?checked?和?unchecked?的任何代碼,都假定你希望在發生溢出時拋出一個異常,此時的溢出應被視為bug。

轉載于:https://www.cnblogs.com/lishidefengchen/p/4478318.html

總結

以上是生活随笔為你收集整理的读经典——《CLR via C#》(Jeffrey Richter著) 笔记_基元类型(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。