在C#中,unchecked和checked關鍵字用于控制整數類型的算術溢出檢測。
示例代碼:
int a = int.MaxValue;
int b = 1;
// unchecked運算
unchecked
{
int result = a + b;
Console.WriteLine(result); // 輸出-2147483648
}
// checked運算
try
{
checked
{
int result = a + b;
Console.WriteLine(result);
}
}
catch (OverflowException ex)
{
Console.WriteLine("OverflowException: " + ex.Message);
}
在上面的示例中,通過unchecked關鍵字執行整數運算時,結果會溢出但不會拋出異常;而通過checked關鍵字執行整數運算時,結果會溢出并拋出OverflowException異常。根據具體情況選擇合適的關鍵字以確保程序的正確性和性能。