初学者入门web前端:C#基础知识:函数

入行前端对函数的掌握程度有可能直接影响以后工作的效率,使用函数可以高效的编写编码,节省时间,所以我整理了C#中最基础的函数知识点,虽然我在学习中

遇到很多问题,但是只要能够解决这些问题,都是好的。

一、认识函数

具有独立功能,并且通过名称重复使用的代码

函数的声明:函数的声明必须写“类”中

classProgeam
{
//这里可以进行函数声明
//这里可以进行函数声明 
static void Main(string[] args)
{
//主函数
//这里可以进行函数声明
}
//这里可以进行函数声明
}

函数的调用:语法:函数名();

①调用函数,就是使用函数

②当程序运行到调用的语句时,会执行该函数的函数体

③函数的调用语法:函数名();

二、作用域和标识符

作用域:一个变量,仅在它所定义的大括号中有效;不同作用域中的变量,拥有独立的空间;当作用域结束时,改变量的数据会从内存中移除

标识符:需要自行命名的位置

标识符:变量名;函数名;类名;委托名;其他

驼峰命名法(望文知义)

变量名:首字母小写

函数名:首字母大写

c语言中的标识符:必须由数字、字母、下划线组成,并且不能以数字开头,若不满足;要求,则出现编译错误

三、声明带参数的函数

参数:要完成一件事,需要知道的额外条件

代码格式

static void 函数名(参数列表)
{
//注释内容
}

参数列表书写语法:数据类型 参数名,数据类型 参数名,....

参数在函数体中的应用:在函数体中,可以将参数当做已经声明的变量来使用

参数的作用域:仅在函数体中有效

初学者入门web前端:C#基础知识:函数

 总结

1.要完成一个动作,需要知道的额外条件,就是参数

2.声明函数时,参数必须包含数据类型和参数名

3.在函数体中,可以将参数当做变量使用

4.参数的作用域:仅在函数体中有效

四、调用带参数的函数

函数声明语法

public static void 函数名(形参列表)
{
//注释内容
}

形参列表中没个形参的书写语法:数据类型 形参名 {多个形参之间使用英文逗号分隔}

调用函数语法:函数名(实参列表)

实参列表中每个实参的书写方式:值 或 变量 或 表达式 {多个实参之间使用英文逗号分隔,实参的数量和类型必须和形参完全对应}

五、声明带返回值得函数

函数的声明语法

static 返回类型 函数名(形参列表)
{
//函数体

return:用于在函数体中得返回结果

return 值 或 变量 或 表达式;
static 返回类型 函数名(参数列表)

当代吗运行到return语句时:立即结束函数,返回return关键字后面的值、变量或表达式的结果

示例:判断一个数是不是奇数

static bolol IsOdd(int n)
{
if (n%2! = 0)
{
return true;
}
return false;
}

判断一个数是不是质数:

//判断一个数是不是质数
static bool IsPrime(int n)
{
if (n< 2return falsefor (int i = 2;i<n;i++)
{
if (n%i == 0)
{return false;
}
}return true;
}

总结:

①函数是指一个独立的功能
②完成功能需要额外的条件
③完成功能后产生的结果,就是函数的返回值
④函数分为声明和调用
⑤声明的完整语法:static 返回类型 函数名(形参列表){//函数体}
⑥调用的完整语法:函数名(实参列表)//该表达式的类型为函数的返回类型

六、调用带返回值的函数

函数调用语法:函数名(实参列表)

函数调用是一个表达式:返回类型与函数声明的返回类型一致

初学者入门web前端:C#基础知识:函数初学者入门web前端:C#基础知识:函数

总结:

1.如果一个函数完成后需要穿梭·产生一个结果,该函数就有返回值
2.在声明一个带返回值的函数时,必须致命返回值的类型
3.函数仅能有一个返回类型
4.如果一个函数不需要返回,那么它的返回类型是void
5.使用return关键字来返回结果
6.返回的结果必须和声明的返回类型匹配
7.代码运行到return语句时,会立即结束函数,然后返回return后面的结果

七、函数签名

函数签名,是一个函数的函数名、参数列表、返回类型得统称

函数签名

函数名:代表函数的功能

参数列表:函数为完成它的功能,余姚的额外信息

返货类型:函数完成功能后,产生的结果的类型

对于函数的调用者,仅需要知道函数签名即可

函数签名:
//从指定的链接地址下载文件,保存到指定的路径
static void DownLoadFile(string fileUrl,string savePath)
函数调用:
//下载http://www.lovo.com/test.doc到d:	est.doc
DownLoadFile("www.lovo.com/test.doc","d:	est.doc");

初学者入门web前端:C#基础知识:函数初学者入门web前端:C#基础知识:函数

初学者入门web前端:C#基础知识:函数初学者入门web前端:C#基础知识:函数

编写正确的函数签名:

①仔细阅读需求,理解需求的含义

②为函数取一个贴合需求含义的函数名

③仔细考虑,该函数是否需要参数,需要哪些参数

④仔细考虑,该函数是否需要返回类型

总结:

1.函数签名,是函数名、参数列表、返回类型得统称

2.函数签名能够完整的阐述函数功能

3.无论是调用函数还是实现函数,仅需要知道函数签名

4.在编写函数时,必须保证函数签名与需求符合

八、文档注释

单行注释:通常写在函数体内,用于描述函数体内的代码

多行注释:通常写在函数体内,用于描述函数体内的代码

文档注释:通常写在函数体外,用于描述函数体外的代码

初学者入门web前端:C#基础知识:函数

九、函数的重载

函数重载(overload):是指多个函数可以使用一个函数名,只需他们的参数列表不同(参数的数量或参数的类型不同)

初学者入门web前端:C#基础知识:函数

总结:

①函数重载是指多个函数使用同一个名称

②重载的条件是参数的数量或类型不同

③重载的作用是降低调用难度

④当调用重载的函数时,计算机会根据实参自动匹配

十、函数的相互调用

输出两个整数的最大公约数和最小公倍数

GetGCD:得到两个整数的最大公约数

GetLCM:得到两个整数最小公倍数

初学者入门web前端:C#基础知识:函数

总结:

在任何一个函数体中,都可以调用函数

在编写函数体时,可以充分利用已有的函数完成功能,从而降低开发难度

十一、递归

求斐波拉契数列第n位的值

//斐波拉契数列: 1 1 2 3 5 8 13
//f(n)表示斐波拉契数列第n位的值
f(1) = 1 f(2) = 1
f(n) = f(n - 1) + f
static int f(int n)
{
if (n == 1 || n == 2)
return 1;
else
return f(n - 1) + f(n - 2);

总结

①递归,是指在函数体中直接或间接的调用自身

②递归次序有终止条件,否则,将会无限制递归

③无线递归会耗尽内存,导致程序崩溃,必须避免这种情况

时刻鼓励自己:

 

       埋头读书,抬头做人!

 

  不登高山不知天之高也,不临深溪不知地之厚也

 

  懦弱的人只会裹足不前,莽撞的人只能引为烧身,只有真正勇敢的人才能所向披靡

 

  我们这个世界,从不会给一个伤心的落伍者颁发奖牌。

 

  海浪的品格,就是无数次被礁石击碎又无数闪地扑向礁石、

 

  鞋底磨穿了,不等于路走到了头。

 

  松驰的琴弦,永远奏不出时代的强音。

 

  躺在被窝里的人,并不感到太阳的温暖。

 

  不安于现状,不甘于平庸,就可能在勇于进取的奋斗中奏响人生壮美的乐间。

 

  不去耕耘,不去播种,再肥的沃土也长不出庄稼,不去奋斗,不去创造,再美的青春也结不出硕果。