学习C#(六)函数

函数

函数的定义包括函数名、返回类型以及一个参数列表,这个参数列表指定了该函数需要的参数数量和参数类型。函数的名称和参数(不是返回类型)共同定义了函数的签名。

一、定义和使用函数

函数定义由以下几部分组成:
关键字
函数名后跟圆括号
一个要执行的代码块,放在花括号中

函数Main()是控制台应用程序的入口点程序。当执行C#应用程序时,就会调用它包含的入口点函数,这个函数执行完毕后,应用程序就终止了。所有C#可执行代码必须有一个入口点。

void这个关键字表明函数没有返回值。

1.1.返回值
通过函数进行数据交换的最简单方式是利用返回值。由返回值的函数会最终计算得到这个值,就像在表达式中使用变量时,会计算得到变量包含的值一样。与变量一样,返回值也有数据类型。

当函数返回一个值时,必须采用以下两种方式修改函数:
1.在函数声明中指定返回值的类型,但不使用关键字void;
2.使用return关键字结束函数的执行,把返回值传送给调用代码。

当函数接受参数时,必须指定以下内容:
1.函数在其定义中指定接受的参数列表,以及这些参数的类型;
2.在每个函数调用中提供匹配的实参列表。

1.2.参数
当函数接受参数时,必须指定以下内容:
1.函数在其定义中指定接受的参数列表,以及这些参数的类型;
2.在每个函数调用中提供匹配的实参列表。

在调用函数时,必须使提供的参数与函数定义中指定的参数完全匹配,这意味着要匹配参数的类型、个数和顺序。

C#允许为函数指定一个(只能指定一个)特殊参数,这个参数必须是函数定义中最后一个参数,称为参数数组。参数数组允许使用个数不定的参数来调用参数,可使用params关键字定义它们。

带有值参数的函数的含义:在使用参数时,是把一个值传递给函数所使用的一个变量。在函数中对此变量的任何修改都不影响函数调用中指定的参数。

“引用”传递参数:即函数处理的变量与函数调用中使用的变量相同,而不仅仅是值相同的变量。因此,对这个变量进行的任何改变都会影响用作参数的变量值。为此,只需要使用ref关键字指定参数。

用ref参数的变量的限制:
1.函数可能会改变引用参数的值,所以必须在函数调用中使用“非常量”变量;
2.必须使用初始化过的变量。

除了按引用传递值外,还可以使用out关键字,指定所给的参数是一个输出参数。out关键字的使用方式与ref关键字相同(在函数定义和函数调用中用作参数的修饰符)。

区别:
1.把未赋值的变量用作ref参数是非法的,但可以把未赋值的变量用作out参数;
2.另外,在函数使用out参数时,必须把它看成尚未赋值。

其作用域以这种方式覆盖一个函数的变量称为局部变量。还有一种变量,其作用域可覆盖多个函数。

在控制台应用程序中,必须使用static或const关键字来定义这种形式的全局变量。如果要修改全局变量的值,就需要使用static,因为const禁止修改变量的值。

二、变量的作用域

变量的作用域包含定义它们的代码块和直接嵌套在其中的代码块。

三、Main()函数

Main()是C#应用程序的入口点,执行这个函数就是执行应用程序。

四、结构函数

除了数据,结构还可以包含函数。

五、函数的重载

需要有不同的函数来操作不同类型的变量。函数重载允许创建多个同名函数,每个函数可使用不同的参数类型。

六、委托

委托(delegate)是一种存储函数引用的类型。委托的声明指定了一个返回类型和一个参数列表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值