首頁  >  文章  >  後端開發  >  C# 中的斷言

C# 中的斷言

PHPz
PHPz原創
2024-09-03 15:29:431196瀏覽

以下文章提供了有關 C# 中 Assert 的概述。斷言方法是在運行時檢測邏輯錯誤的最有效方法之一,並且可以輕鬆地在生產層級糾正錯誤。斷言方法通常需要 2 個參數:一個是布林表達式,另一個是要顯示的訊息。雖然斷言方法採用兩個參數,但斷言方法內不得有單一函數,而且無論如何,它都不會對程式產生任何影響。在大型程式中,assert方法很容易實現,它可以讓程式設計師輕鬆地檢測和清除錯誤。

文法:

Debug.Assert();

上面的 debug.assert 方法是 System.Diagnostics 類別的一部分,提供了一種快速實作該功能的方法。 Debug 類別與 Trace 類別不同,Trace 類別僅包含在 Debug Build 中,而 Trace 類別包含在 Debug 和 Release Build 中。 建議不要在程式的任何部分中使用此斷言方法內的任何特定函數呼叫。重要的是要理解內部函數不會對輸出產生任何影響。

Assert 在 C# 中如何運作?

在定義斷言方法時,我們必須傳遞兩個參數,一個是布林值,另一個是必須顯示的訊息。 斷言方法適用於 True 或 False:

  • 在定義斷言方法時,重要的是指定如果為 false,則要顯示的內容。
  • 且必須有一個布林表達式來表示條件何時為真。

當程式遇到assert方法時,它會檢查條件。程式將被中斷,並通知您條件不滿足。如果條件為假,則會顯示第二個參數,即一則訊息。如果條件成立,程序將繼續進行。

基本上,當我們在程式中的任何位置插入斷言時,如果發現條件為假,它將中斷程式的正常執行並顯示一個包含詳細資訊的對話框。

C# 中斷言的例子

下面給出了提到的範例:

範例#1

具有任何特定函數的簡單整數的斷言方法。

代碼:

using System;
using System.Diagnostics;
namespace assert_sim {
static class Program {
public static void Main() {
int val = 2;
Debug.Assert(val != 2, " Value should not be 2.");
}
}
}

程式碼解讀:

  • 我們有兩個導入類,System.Diagnostics 很重要,因為它可以加快程式後面斷言函數的實作速度。
  • 我們有我們的類別和主要方法,後面的整數值以 2 為值。
  • Debug.Assert 實作斷言語句並檢查條件。如程式碼所述,如果該值不等於 (!=) 2,則程式碼將繼續執行,不會出現任何中斷。但如果指派的值為 2,則會顯示一個訊息框,其中包含訊息「值絕對不能為 2」。遇到斷言後,程式將按其需要執行。

輸出:

當值為 2 時,如前所述,將顯示對話框,其中包含訊息「值絕不能為 2」以及錯誤的詳細資訊。訊息將顯示捕獲斷言方法的行號。

C# 中的斷言

範例#2

兩個數字相加,並將傳遞給條件斷言方法。

代碼:

using System;
using System.Diagnostics;
namespace assert_sim {
static class Program {
public static void Main() {
int x = 2;
int y = 2;
int q = x + y;
Console.WriteLine("This is C# Assert Example.");
Debug.Assert(q != 4, "Addition should not be 4.");
Console.WriteLine("\n This is after assert method.");
Console.ReadLine();
}
}
}

程式碼解讀:

  • 一切都與程式1相似。在我們的第二個程式中,我們聲明了 3 個整數變數並分配了各自的值。
  • 之後,我們有了簡單的加法函數,加法的輸出將被送到斷言方法進行評估。
  • 接下來我們有列印語句,它只是印出一行「這是 C# 斷言範例。」
  • 然後我們的程式進入assert方法並檢查條件。 我們的加法結果將是 4,條件是不具有 4。由於我們的程式加法結果將是 4,因此該訊息將印在對話方塊中,「加法不應為 4」。 在斷言方法之後,程式將按照指示執行,並列印下一條語句。

輸出:

C# 中的斷言

並且,按一下「忽略」按鈕,對話方塊將消失並列印最後一行。

C# 斷言的優點

對於程式語言中的每一個特定的方法或函數,我們都有多種優勢,就像下面是在c#中使用assert方法的優勢一樣:

  • 最大的優點之一是能夠發現程式中可能未被注意到的錯誤。
  • 除了發現錯誤之外,斷言方法的實作對於更快地檢測這些錯誤也很有用,從而可以更快地解決問題。
  • 始終為真:使用斷言方法,您可以得到一個解釋特定程式碼影響的聲明,並且該聲明可以保證為真。
  • assert方法確保程式設計師有足夠的時間來檢測、理解和解決錯誤。

結論

Assert方法只是用來辨識運行時的錯誤。 Assert 方法採用兩個參數,第一個是布林表達式,其中檢查條件,第二個是根據條件結果顯示的訊息。我們示範了兩個範例來理解斷言方法的工作原理。 Assert 的最佳應用之一是使用相當大的程式來實現它,因為它可以實現定位並快速刪除錯誤的過程。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:C# 輸出參數下一篇:C# 輸出參數