国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#難點逐個擊破(7):checked與unchecked

2020-01-24 03:45:09
字體:
來源:轉載
供稿:網友

C#默認情況下,若常數表達式的值超過了目標類型的最大值,將會導致編譯錯誤。

若目標數據類型不能容納非常數表達式的數據,那么數據在賦值時會被截斷。

復制代碼 代碼如下:

class Program
{
static void Main(string[] args)
{
int n = int.MaxValue;//n=2147483647
n = n + 1;
System.Console.WriteLine(n);
}
}

此時可用內存存儲數據來解釋,之前int.MaxValue在內存為為32位1,自加1后變為32位0,此時0被認為是負號,因此會得來-2147483648。

將上述代碼放在checked塊中,將會引發System.OverflowException類型。

復制代碼 代碼如下:

class Program
{
static void Main(string[] args)
{
checked
{
int m = int.MaxValue;
m = m + 1;
System.Console.WriteLine(m);
}
}
}

C#中放在checked塊內的變量,若運行時發生一次溢出的賦值就會引發一個異常。

unchecked用于取消整型算術運算和轉換的溢出檢查。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳泉市| 延边| 惠东县| 洪湖市| 柞水县| 兴义市| 红安县| 玉田县| 楚雄市| 武胜县| 额济纳旗| 林州市| 大宁县| 兴仁县| 隆安县| 平度市| 肇庆市| 新田县| 浦东新区| 巴南区| 二连浩特市| 祁连县| 阳山县| 和静县| 资兴市| 邢台县| 新巴尔虎右旗| 南京市| 松阳县| 玉树县| 伊宁市| 绥芬河市| 石狮市| 准格尔旗| 岳普湖县| 尖扎县| 沽源县| 上栗县| 常州市| 中山市| 临泉县|