目錄
C# 中檢查關鍵字的工作
已檢查的 C# 範例
範例#2
結論

C# 已檢查

Sep 03, 2024 pm 03:16 PM
c# c# tutorial

要明確檢查算術中整數運算和轉換的溢出,必須為算術中整數運算和轉換啟用溢出檢查,這可以透過使用 C# 中名為 checked 關鍵字的關鍵字和使用Checked 來實現。 C# 中表達式的關鍵字,在運行時檢查常數表達式是否溢出,如果存在溢出,編譯器將引發溢出異常,而儘管使用了非常量表達式,但在運行時不會檢查非常量表達式是否溢出。檢查關鍵字和溢出,在這種情況下不會引發異常。

 checked 關鍵字 C# 文法如下:

checked(Expression)
登入後複製

C# 中檢查關鍵字的工作

  • 每當一個數字溢位時,該數字的數值就會失效。因此,不會拋出任何異常。
  • 對於當數字溢位時拋出的異常,我們使用關鍵字checked。
  • 每當檢查關鍵字用於值溢位的表達式時,都會引發異常。
  • 由於值溢位會引發異常,因此可以透過捕捉異常來避免錯誤。因此,生成的程式品質將會很好。
  • 考慮以下程序來示範檢查關鍵字在 C# 程式中的使用:

代碼:

//a namespace called check is defined
namespace check
{
//a class called space is defined
public class space
{
//main method is called
public static void Main()
{
// Using checked keyword to check if the value is over flowing
checked
{
// Increasing the value upto the value of maximum
int number = 0;
for (int x = 0; x < int.MaxValue; x++)
{
number++;
}
// Increasing the value upto the value of maximum again (error).
for (int x = 0; x < int.MaxValue; x++)
{
number++;
}
}
}
}
}
登入後複製

輸出:

C# 已檢查

在上面的程式中,定義了一個名為 check 的命名空間。然後定義一個名為space的類別。然後呼叫main方法。然後我們使用checked關鍵字透過將值增加到最大值來檢查值是否有溢位。如果我們在上面的程式中不使用checked關鍵字,則不會拋出異常。因為我們在程式中使用了checked關鍵字,所以會拋出輸出快照中所示的例外。程式中的checked關鍵字可以透過選擇編譯器中的選項「/checked」來啟動。當變數號碼每次加一達到記憶體位置無法容納的整數最大值時,就會引發溢位異常。使用特殊的中間指令在運行時引發溢位異常。

已檢查的 C# 範例

以下是下面提到的範例

範例#1

C# 程式示範如何使用檢查關鍵字引發異常。

代碼:

using System;
//a namespace called check is defined
namespace check
{
//a class called space is defined
public class space
{
//main method is called
public static void Main()
{
// Using checked keyword to check if the value is over flowing
checked
{
int twenty = 20;
int j = 2147483647 + twenty;
Console.WriteLine(j);
}
}
}
}
登入後複製

輸出:

C# 已檢查

在上面的程式中,定義了一個名為 check 的命名空間。然後定義一個名為space的類別。然後呼叫main方法。然後我們使用checked關鍵字來檢查該值是否溢出,方法是將值20分配給變數20,然後將其加到整數的最大值,以便拋出異常。如果我們在上面的程式中不使用checked關鍵字,則不會拋出異常。因為我們在程式中使用了checked關鍵字,所以會拋出輸出快照中所示的例外。程式中的checked關鍵字可以透過選擇編譯器中的選項「/checked」來啟動。當變數二十的值與記憶體位置無法容納的整數的最大值相加時,會引發溢位異常。使用特殊的中間指令在運行時引發溢位異常。

範例#2

C# 程式示範如何使用檢查關鍵字引發異常。

代碼:

using System;
//a class called check is defined
public class Check
{
//the maximum value of integer is assigned to a variable
static int maxInt = 2147483647;
//main method is called
public static void Main()
{
Console.WriteLine(CheckMethod());
}
static int CheckMethod()
{
int y = 0;
try
{
y = checked (maxInt + 1);
}
catch (System.OverflowException e)
{
Console.WriteLine("An overflow exception is raised because of maximum integer value " + e.ToString());
}
return y;
}
}
登入後複製

輸出:

C# 已檢查

在上面的程式中,定義了一個名為Check的類別。然後將整數的最大值賦給變數 maxInt。然後呼叫main方法。然後我們呼叫 check 方法函數,在該函數中我們使用了 try-catch 區塊,該區塊由 checked 關鍵字組成,用於將整數的最大值加一,catch 區塊由我們想要顯示的異常語句組成。如果我們在上面的程式中不使用checked關鍵字,則不會拋出異常。因為我們在程式中使用了checked關鍵字,所以會拋出輸出快照中所示的例外。程式中的checked關鍵字可以透過選擇編譯器中的選項「/checked」來啟動。當變數二十的值與記憶體位置無法容納的整數的最大值相加時,會引發溢位異常。使用特殊的中間指令在運行時引發溢位異常。

結論

在本教程中,我們透過定義來了解 C# 中 checked 關鍵字的概念、C# 中檢查關鍵字的語法、透過範例了解 C# 中檢查關鍵字的工作原理及其輸出。

以上是C# 已檢查的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用 C# 的活動目錄 使用 C# 的活動目錄 Sep 03, 2024 pm 03:33 PM

使用 C# 的 Active Directory 指南。在這裡,我們討論 Active Directory 在 C# 中的介紹和工作原理以及語法和範例。

C# 中的隨機數產生器 C# 中的隨機數產生器 Sep 03, 2024 pm 03:34 PM

C# 隨機數產生器指南。在這裡,我們討論隨機數產生器的工作原理、偽隨機數和安全數的概念。

C# 序列化 C# 序列化 Sep 03, 2024 pm 03:30 PM

C# 序列化指南。這裡我們分別討論C#序列化物件的介紹、步驟、工作原理和範例。

C# 資料網格視圖 C# 資料網格視圖 Sep 03, 2024 pm 03:32 PM

C# 資料網格視圖指南。在這裡,我們討論如何從 SQL 資料庫或 Excel 檔案載入和匯出資料網格視圖的範例。

C# 中的模式 C# 中的模式 Sep 03, 2024 pm 03:33 PM

C# 模式指南。在這裡,我們討論 C# 中模式的介紹和前 3 種類型,以及其範例和程式碼實作。

C# 中的質數 C# 中的質數 Sep 03, 2024 pm 03:35 PM

C# 質數指南。這裡我們討論c#中素數的介紹和範例以及程式碼實作。

C# 中的階乘 C# 中的階乘 Sep 03, 2024 pm 03:34 PM

C# 階乘指南。這裡我們討論 C# 中階乘的介紹以及不同的範例和程式碼實作。

c#多線程和異步的區別 c#多線程和異步的區別 Apr 03, 2025 pm 02:57 PM

多線程和異步的區別在於,多線程同時執行多個線程,而異步在不阻塞當前線程的情況下執行操作。多線程用於計算密集型任務,而異步用於用戶交互操作。多線程的優勢是提高計算性能,異步的優勢是不阻塞 UI 線程。選擇多線程還是異步取決於任務性質:計算密集型任務使用多線程,與外部資源交互且需要保持 UI 響應的任務使用異步。

See all articles