首页  >  文章  >  后端开发  >  C# 中的断言

C# 中的断言

PHPz
PHPz原创
2024-09-03 15:29:431188浏览

以下文章提供了有关 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# Out Parameter下一篇:C# Delegates