C#入门系列 (九) -- 方法使用
一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类。
方法调用
1.1 定义方法的调用
针对方法与调用者是否属于同一 C#类、方法是否有形参,可将方法的调用分为下面几种形式:
1.2 命名参数
在 C#中,进行方法调用时,每个实参的位置都必须一一对应相应形参的位置,这种参数叫做位置参数。
从 C#4.0 开始,方法调用时支持命名参数机制,只要显式指定参数的名称,就可以以任意顺序在方法调用中列出实参。
使用命名参数时需注意:
方法的声明与使用位置参数的方法声明完全一样;
进行方法调用时,形参的名字后必须跟着冒号和实际的参数值或表达式,
格式如下:
另外,进行方法调用时,可以混合使用位置参数和命名参数两种机制,但是必须先列出所有的位置参数。
示例:
命名参数对于自描述的程序很有用,它可以帮助程序员在进行方法调用时显示哪个值赋给了哪个形参,使得方法调用时具有更多的信息不容易出错,增加程序代码的可读性。
方法递归
递归调用:方法直接或间接的调用自己,称为递归调用。
递归会产生很优雅的代码。
C#允许方法实现直接递归调用和间接递归调用。
方法递归调用的经典示例:
兔子繁殖问题:
有一对兔子,从出生后第 3 个月起每月生一对兔子,小兔子长到第三个月后每月又生一对兔子,假如兔子都不死,问第几个月才能有 100 对兔子?
用递归求解问题:
通常可以将一个比较大的问题层层转化为一个与原问题相类似的、规模较小的问题进行求解,最终实现对原问题的求解。
使用递归时一定要注意必须具备让递归结束的条件。
方法重载
定义:C#的一个类中超过一个方法具有相同名称的现象叫做方法重载。
在 C#中,实现方法重载时必须保证使用相同名称的每个方法有一个和其他方法不同的签名,并且判断方法重载是否合法时编译器只考查这个方面。
C#重载方法的条件:方法名相同,方法的参数类型或参数个数不同。
错误的重载方法示例:
正确的重载方法示例:
版权声明: 本文为 InfoQ 作者【陈言必行】的原创文章。
原文链接:【http://xie.infoq.cn/article/9cc5b09b9c62a481b6adf5472】。未经作者许可,禁止转载。
评论