C#核心开发-第14单元-方法-第5节:方法返回类型
1. 方法返回类型
在前面我们接触过.NET控制台应用程序的Main()方法,该方法的返回类型是void,而在上一节中,我们讲解的Cal()方法,返回类型是int。
C#方法的返回类型总结起来有如下3种:
(1). void:不需要方法有返回值。
(2). 数据类型:需要返回指定类型的值。
(3). 自定义类型:使用类作为返回类型,返回的是对象。
这里使用Visual Studio 2019创建.NET控制台应用程序,来讲解C#方法的返回类型。
1.1. void
在C#中,当方法的返回类型是void,表示方法不返回任何的具体值,也不需要使用return语句返回。
创建一个名称为Student的类,然后编写如下C#代码:
返回类型是void的方法
C#方法的返回类型是void的方法,一般用来显示信息或写日志,不需要返回给调用者任何结果。
当C#方法返回类型是void的时候,常用于输出、写入数据库、写入日志等功能。
1.2. 数据类型
在C#中,方法的返回类型除了void之外,剩下的就是数据类型了,并且需要使用return语句返回具体的值,这个值的类型必须与返回类型兼容或一致。
方法返回 decimal类型
在图2中,Sum()方法带有2个decimal类型的参数,并且在方法内部将这个2个参数加在一起,最后的结果还是decimal类型,所以返回类型是decimal,否则无法返回具体的值。
注意:在调用C#方法时,必须使用与返回类型一样的数据类型来定义变量接收方法返回的值:
变量接收方法返回的结果
在图3中,使用了decimal类型的变量接收Sum()方法返回的结果值。
1.3. 自定义类型
当然,对于C#方法的返回类型,除了可以是.NET内置的类型之外,还可以是我们自定义的类型,如类,结构,枚举,都是可以的:
这里首先创建一个Goods类,并添加几个属性:
定义Goods类,并添加属性
在Goods类中添加了3个属性。
然后再在Student类中添加一个方法,返回类型是Goods类:
C#方法返回类型是类
在这里我们创建的GetGoods()方法要比上面讲解的方法稍复杂一些:
(1). 在GetGoods()方法中,我们返回的是一个Goods的对象,该对象中有3个属性也随着对象一起返回给方法,这样做的好处是可以返回更多的数据。
(2). 类可以作为方法的返回类型,但在方法内部必须返回该类的对象,也就是在方法中要返回对应返回类型的实例,使用new实例化过的。
(3). 在调用方法时,得到的也是一个与返回类型对应的具体对象,其中包括有一些属性。
(4). 该方法还带有3个参数,且将这3个参数的值赋值给Goods对象中的属性。
在此方法中,我们能够理解出来封装的含义,多个数据封装到一个对象中,然后处理后让方法返回,这样多个数据是封装到对象中传输的。
我们在Program类中调用一下此方法:
调用返回类型是类的方法
在图6中,我们定义了Goods类型的变量g来接收GetGoods()方法返回的对象,然后再将该对象中的属性值一一输出,这里没有做任何数据处理,只是演示如何将类作为方法的返回类型。
运行一下:
运行C#方法的结果
在图7中,已经将方法返回的对象拆开后的属性值一个一个的输出了。在这里主要是让大家深度理解对象在方法中是如何传输的。
总结:对于C#方法返回类型的确定,首先要清楚方法的逻辑功能是什么?然后再判断逻辑代码运行后得到的最终结果是什么类型?根据这个类型来确定方法的返回类型,但有时候可能会出现一些兼容的类型,例如C#方法返回的值是整数100,而返回类型可以是object,因为它们存在兼容关系。