共用方式為


unchecked (C# 參考)

更新:2007 年 11 月

unchecked 關鍵字是用來隱藏整數類資料型別 (Integral Type) 之算術運算和轉換的溢位檢查。

在 unchecked 內容中,如果運算式產生在目的型別範圍之外的值,結果將被截斷。例如:

unchecked
{
    int val = 2147483647 * 2;
}

因為上述計算是在 unchecked 區塊中執行,所以會忽略結果對整數來說太大的事實,並且將值 -2 指派給 val。根據預設會啟用溢位偵測,這跟使用 checked 有相同的效果。

在上述範例中會省略 unchecked,因為運算式會使用在編譯階段才知道結果的常數,所以會發生編譯錯誤。unchecked 關鍵字也會隱藏在執行階段產生 OverflowException 之非常數運算式的溢位偵測。

unchecked 關鍵字也可以用來當做運算子,如下所示:

public int UncheckedAdd(int a, int b)
{
    return unchecked(a + b);
}

範例

這個範例將示範如何使用帶有常數運算式的 unchecked 陳述式。

class TestClass 
{
    const int x = 2147483647;   // Max int 
    const int y = 2;

    static void Main() 
    {
        int z;
        unchecked 
        {
            z = x * y;
        }
        Console.WriteLine("Unchecked output value: {0}", z);
    }
}
// Output: Unchecked output value: -2

C# 語言規格

如需詳細資料,請參閱 C# 語言規格中的下列章節:

  • 5.3.3.2 Block 陳述式、checked 和 unchecked 陳述式

  • 7.5.12 checked 和 unchecked 運算子

  • 8.11 checked 和 unchecked 陳述式

請參閱

概念

C# 程式設計手冊

參考

C# 關鍵字

Checked 與 Unchecked (C# 參考)

checked (C# 參考)

其他資源

C# 參考