为什么 C# 方法不是 return 值?

Why would a C# method not return a value?

很容易理解为什么 method() return 是一个值 - 但我无法理解没有 return 值的方法的概念。

static void PrintName(string firstName, string lastName)
{
    Console.Writeline($"{firstName} {lastName}");
}

此方法将 firstNamelastName 打印到控制台,但不会 return 值。程序员为什么要这么做?它是如何使用的?

有很多理由不return一个值。你的例子是一个很好的例子。您希望通过该方法 return 获得哪些可能的信息?这是一个 self-contained 函数,不会操作任何数据或影响程序的状态。 Return 值用于传回操作结果、状态、修改后的数据等。对于不需要任何返回的情况,有 void.

现在您可能认为您宁愿使用 PrintName return 布尔值来表示成功,但所写的方法将起作用。放入 return 语句并使用 returned 值会增加代码复杂性,但没有任何好处。

想想 return 一个值的方法,就好像它们是问题的答案一样:

问:今天几号?
答:2022 年 4 月 15 日。

public string GetDate() { return DateTime.Now.ToShortDateString(); }

将没有 return 值的方法视为根据请求执行的操作。

第 1 个人:请把这个杯子放在 table 上。
第二个人:*把杯子放在 table* - 不需要说什么

public void PutMugOnTheTable(Mug mug) { Table.Items.Add(mug); }

另请参阅软件工程 SE 上的相关 post:
When and why you should use void (instead of e.g. bool/int)

顾名思义,没理由return这个值。 如果你创建或建造一些东西,你可以期待结果,但很难期待内部操作的结果,如添加、删除、打印等。