C#入门系列 -- 方法定义

举报
陈言必行 发表于 2022/03/05 14:57:20 2022/03/05
【摘要】 方法作为类中最常见、最有用的一种成员,是完成特定任务、实现特定功能的重要编程模式,方法将实现相对独立、具有较高重用频率功能的语句序列集合进行封装,从而实现程序的模块化要求。

概念

方法作为类中最常见、最有用的一种成员,是完成特定任务、实现特定功能的重要编程模式,方法将实现相对独立、具有较高重用频率功能的语句序列集合进行封装,从而实现程序的模块化要求。

终极目标:更少的代码,更多的复用

从方法所属看,方法分为属于类的静态方法和属于类实例的实例方法。

方法定义的一般形式为:

static 返回值类型 方法名(参数)
{
    变量声明
    执行语句
}

其中大括号{……}称为方法体,第一行称为方法头,或称为方法接口。

C#不允许在方法体内嵌套定义方法,C#中方法之间是级别相同的,不存在包含与被包含关系。

方法定义报错:确定方法名;确定方法的形式参数;确定方法的返回类型;编写方法体代码。


方法名

方法名的命名规则遵循C#标识符的命名规则,尽量做到“见其名知其意”。这样在自己调用或者多人协同开发时能够提高工作效率。


形式参数

调用方法是需要提供参数,给方法进行逻辑处理,一般的形式是:

void Show(类型 形参1, 类型 形参2...){}

多个参数间用逗号隔开,并且每个参数都必须包括参数类型和参数名称,参数之间的名称不能相同。即使传递多个相同参数类型的形参,也需要一个类型声明对应一个参数名。


返回值类型

返回值类型,是方法向调用者返回结果的一个常用功能。方法不需要返回值是,返回值类型写成void,表示没有返回值。


方法体。

方法体包括声明部分和执行语句,是为了实现一个特定功能的语句序列。

方法体的根本目标是为了实现方法的功能,因此,方法体中进行那些声明,编写什么样的执行语句都是由方法的功能决定的。

方法体中的声明部分可以声明方法内部需要的任何类型、变量、常量和对象,使用任意的控制结构,使用简单语句、复合语句以及调用别的方法等。


可选参数

C#允许在方法定义时为形参指定默认值,具有默认值的参数称为默认参数或可选参数。其一般形式为:

static 返回类型 方法名(类型1 参数名1,,类型 可选参数名 = 默认值)
{
    方法体;
}

对于可选参数的声明,需要注意:

  1. C#中并不是所有的参数类型都可以作为可选参数。只有值类型的默认值在编译时可确定,因此值类型的参数可以作为可选参数;只有默认值为null的引用类型参数才可以作为可选参数。

  2. 所有必填参数必须在可选参数之前声明。如果有params参数,即形参数组,则必须在可选参数之后声明。

对于可选参数的省略必须遵守下面的规则,以防止所使用的可选参数不明确:

  1. 省略可选参数时,必须从参数列表的最右边开始省略,一直到列表开头;
  2. 如果要随意省略可选参数,而不是从列表的最右边开始,则必须使用可选参数的名称来消除赋值的歧义。

定义示例

// 无参数,无返回值
static void Show() { }

// 有参数,无返回值
static void Show(int a) { }

// 有参数,无返回值,可选参数
static void Show(int a, int b = 0) { }

// 无参数,有返回值
static int Sum() { return 0; }

// 有参数,有返回值
static int Sum(int a) { return a + 1; }

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。