C# 中的 Void 关键字

2024年8月29日 | 阅读 8 分钟

每种编程语言都有其独特的关键字,它们在视觉和逻辑上都对表达函数起着至关重要的作用。例如,“void”关键字是C#这些基础知识中的基石,它帮助定义不使用任何返回值的那些方法。你可以毫不夸张地说,直接切入重点,因为基于简洁、短小、高效的代码至关重要。

Void关键字用于告知编译器和其他开发人员,该函数或方法的操作旨在按顺序执行一组指令或过程,而不打算返回任何值。尽管void关键字的用途看起来很简单,但它在理解和代码组织方面具有重要意义。

对于每个用C#编写程序的开发人员来说,void是最主要的关键字之一。通过在设计方法时始终将“void”标记为其返回类型,开发人员清楚地表明他们不关心返回值,而是专注于他们正在做的事情。这种简化的语法简洁地概括了void关键字,该关键字已被发现非常简单且耗时来理解和使用。

接下来的部分将专门介绍实际示例,通过这些示例,我们将更深入地理解这个关键字。Void关键字使编码专家能够为新手和更复杂的函数设计易于理解且更经济的软件解决方案。然而,与其他工具一样,void关键字也有一些细微之处。它赋予代码简洁性和可读性,但也有大量的限制。

无论您是C#专家还是C#开发的初学者,熟悉void关键字都是必不可少的。现在,让我们一起踏上揭示这个精美作品的可能性和潜力的旅程。在此之后,我们可以看到C#开发的道路。

在本博客中,我们将讨论void关键字的语法、带有适当解释的示例以及优缺点。

语法

在C#中,void关键字的语法很简单,这是定义函数或方法最重要的部分。不返回任何值。在编写高度可读且可行的代码时,必须考虑代码的语法和含义。

使用void关键字声明方法或函数的语法如下:

让我们来解析一下这种语法:

  • Public:这个访问修饰符确保了方法的可见性。在这种情况下,如果该方法需要从任何其他类调用,它就可以简单地被调用为“public”
  • Void:其字符串k表示方法的返回类型。“void”用于告知事实,即该函数没有返回值。
  • MethodName:开发人员决定以这种方式命名该方法,以便与其他人相比,它能代表该方法执行的功能。
  • (parameters):方法将接受参数。如果它接受参数,那么这些就是唯一的值。它们一个接一个地排列,可选参数放在括号中。通过一些程序,方法可以获取输入数据,然后使用这些数据来完成其执行。
  • {}:昂贵的类型的大括号封闭了方法的范围,并封装了代码块,这是方法实现的方式。

示例1:银行账户管理系统

输出

Account balance for John Doe: $1000
Deposited $500. Current balance: $1500
Withdrawn $200. Current balance: $1300
Insufficient funds.

说明

BankAccount类

  • 它代表了银行账户的实体。
  • 账户持有人的姓名和余额存储在私有字段协议中,这些字段分别声明为account holder和balance。
  • 使用提供的构造函数方法,可以在创建新的BankAccount对象时初始化新的Balance和accountHolder字段。
  • 仅显示Deposit、Withdraw和DisplayBalance void方法。

Deposit方法

  • 反映了指定的金额在账户余额中。
  • 打印包含更新余额和存款金额的消息。

Withdraw方法

  • 确保提款金额等于账户中的金额或少于该金额。
  • 如果账户中的资金充足,则会扣除提款金额,并打印一条包含更新余额和提款金额的通知。
  • 如果账户余额不足,则打印消息“Insufficient funds”

DisplayBalance方法

  • 打印账户持有人的姓名和余额。

Program类

  • 实例化一个名为account的新BankAccount对象,该对象的用户名为“John Doe”,并以1000美元的初始余额进行初始化。

主方法

  • 在main方法中,开发人员调用account对象,DisplayBalance,以调用初始余额。
  • 使用Deposit方法存入500美元,并显示更新后的余额。
  • 两次调用Withdraw方法,第一次为200美元,第二次为1500美元。
  • 首次提款的官方批准和更新后的余额为1300美元。
  • 当第二次提款再次尝试时,显示错误消息“Insufficient funds.”,但无效。

示例2:员工管理系统

输出

Name: John, Department: HR
Name: Alice, Department: Finance

说明

Employee类

  • 它是员工的集合。
  • 员工的姓名和部门分别存储在其Name和Department属性中。
  • 包含一个构造函数方法,该方法在创建新的Employee对象时初始化Department和Name属性。
  • 通过选择DisplayDetails,显示该方法返回员工姓名及其部门。

Company类

  • 象征着一个商业实体。
  • 它使用一个名为employees的List<Employee>类型的私有成员来存储员工集合。
  • 包含一个构造函数方法,该方法在创建新的Company对象时初始化员工列表。
  • 它定义了AddEmployee和DisplayEmployees void方法。

AddEmployee方法

  • 如果Employee对象是参数,则将其添加到员工列表中。

DisplayEmployees方法

  • 在遍历员工列表的每次循环中,DisplayDetails方法都会显示员工的详细信息。

Program类

  • 包含名为warm entry point technique的cold contact方法。
  • 创建一个全新的对象。

主方法

  • 创建两个新的Employee对象,emp1和emp2,分别属于“HR”和“Finance”部门,名为“John”和“Alice”。
  • 通过调用其AddEmployee方法,创建两个新的employee对象,emp1和emp2,并将它们添加到公司的employee列表中。
  • 调用company对象来查看所有employee。

C#中Void关键字的优缺点

优点

  • 清晰度和意图:void方法明确表明它们不参与执行操作,但也不影响值返回。这种明确性旨在实现代码的可读性,并帮助其他程序员理解方法的目的。
  • 简洁性:void方法的实现方式使得它只执行一项操作,并且消除了处理返回值的需求,从而实现了简单的编程。因此,它变得更加流畅、紧凑且易于管理。
  • 效率:void方法没有返回值的开销。因此,与返回值的函数相比,它们提供了更好的性能优势。对于性能关键型应用程序,void方法更好,因为不需要分配或管理值。
  • 灵活的用法:在很多情况下,结果不是主要目标,而是执行操作的过程,例如在事件处理程序、实用函数或辅助方法中,可以使用null方法。方法使用方式的灵活性使其成为程序员工具箱中的一项基本技术。

缺点

  • 可用性受限:空方法可以执行方法并返回“null”。当在处理中使用方法的输出或代码的其他部分使用该方法时,此限制可能无效。因此,代码的灵活性可能会下降,并且可能需要修改该函数才能获得预期的行为。
  • 代码重复:如果此代码生成不产生相同的结果或需要重复生成而不能产生结果,则void方法可能是导致代码重复的一个因素。这可能会导致过多的代码段,从而增加发生bug或失误的可能性,并且代码库将变得难以维护。
  • 测试复杂性:尽管测试void方法可能比测试返回值的函数更复杂。在大多数情况下,void方法已知会产生副作用,因此测试它们只是需要确认结果是否正确,而不是仅仅获取返回值。这可能会使单元测试过程复杂化,并可能意味着需要更多的设置或其他依赖项的模拟。
  • 错误处理:void方法几乎无法管理错误,尤其是在方法执行过程中发生错误时。在void方法内部处理和传递错误也很复杂,void方法不提供返回错误代码或异常的可能性。这将导致未处理的异常或整个代码中不一致的错误处理。

结论

总而言之,在C#中,“void”关键字是方法声明的必备组成部分,它表示该方法提供输出,但不返回任何值。正如我们所见,void方法在C#编程中扮演着至关重要的角色,它们促进了代码清晰性、简洁性、封装性、效率、副作用处理和使用灵活性等。

void关键字本身功能丰富;然而,它也有一些缺点。这些缺点包括可用性降低、代码重复的可能性、测试复杂性、与错误处理相关的问题以及控制副作用的困难。在他们的代码库中,开发人员在使用void方法时应考虑这些缺点,以便做出明智的决定并避免任何问题。

然而,void关键字仍然是开发人员工具箱中的一个强大工具,它允许他们指定执行操作但不返回数据的那些方法。编写易于阅读和理解的代码应该是目标。因此,无论您是初级还是高级C#开发人员,都必须了解如何使用void关键字。通过练习C#编程技艺,程序员可以利用void关键字构建可靠的系统,在权衡了相关的优缺点之后,他们可以轻松地将这些系统传授给最终用户。