程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#中對於溢出的處理

C#中對於溢出的處理

編輯:關於C#

大家知道,計算機進行數學計算時,往往會出現計算結果超出這個結果所屬類型的值域的情況,這種現象我們稱為溢出。

C#中,對於溢出的處理有兩種選擇:

(1).你可以通過調整編譯器的選項來檢測整個程序。

(2).你可以聲明可能發生溢出的模塊,進行局部檢測。

如果你選擇第一種方案,即打算在整個程序中控制溢出檢測,可以選中C#編譯器設置面板中的Checked選項(checked+)。

如果不希望溢出檢測作用於整個程序,我們可以使用局部檢測的方案。利用檢測語句可以很容易做到。checked和unchecked語句就是用來控制整型算術運算和轉換中的溢出檢測的,這我們在上一章中已經介紹過。

下面以一個計算階乘的例子說明它們的用法。

程序清單8-8:

using System;

class Factorial
{
  public static void Main(string[] args)
  {
   long nFactorial=1;
   long nComputerto=Int64.Parse(args[0]);
   long nCurDig=1;
   for(nCurDig=1;nCurDig<=nComputerto;nCurDig++)
      checked{nFactorial*=nCurDig;}
   Console.WriteLine("{0}!is{1}",nComputerto,nFactorial);
  }
}本文發表於www.bianceng.cn(編程入門網)

當階乘運算發生溢出時,程序將發出異常信息:

System.OverflowException at Factorial.main(System.String[])

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved