C#中的函数(也叫方法)
一、基本语法
1.概念
函数是实现一个特定功能的代码块,通过函数名称我们可以反复调用这段代码,完成特定的事情。避免了重复书写。
2.函数的声明与调用
a.命名(Pascal命名法)
要求每个单词首字母大写,其余小写
Pascal命名法用于给类或函数(方法)命名。
例如:
ReadLine();
ReadKey();
ToDouble();
ToInt32();
b.函数声明(语法)
static 返回值类型 函数名 ([参数列表]) //static:静态标识符
{函数代码体;
}
注:
返回值类型:如果无返回值则写void
函数名:当前函数的名字,符合Pascal命名法
参数列表:如果不需要参数,则不写
如果需要参数,要以:参数类型 参数名 形式书写
例如:static void name (string name1)
c.函数的调用
函数名([])
注意:如果函数只声明不调用,则函数中的代码不会被执行
3.函数的参数(形参和实参)及返回值
a.参数
形参:在定义函数时,参数列表中定义的参数
实参:在函数调用时,传递给函数的具体参数
static void Name(string name1) //这里的name1是形参
{Console.WriteLine("我的名字是{0}",name1);
}
string a = "小明";
Name(a); //这里的“小明”是实参
b.返回值
关键字:return
作用:在函数中返回要返回的值,并立即结束函数(后面语句并不执行)
二、函数重载
1.为何重载
函数名称相同,但是参数列表不同
调用该函数的时候会根据不同参数,自动选择合适的函数执行。
2.参数不同的情况
如果参数的个数相同,那么参数的类型就不能相同;
如果参数的类型相同,那么参数的个数就不能相同。这样才能在同名函数间有所区别。
注意:函数的返回值和重载没有关系
例如:定义一个Add方法,实现整数,小数相加操作
static void Main(string[] args){Console.WriteLine(Add(2.5, 3));Console.WriteLine(Add(2, 3));Console.WriteLine(Add(2.5, 3.2));Console.WriteLine(Add(2, 3.2));Console.ReadKey();}//方法一:static int Add(int a, int b){return a + b;}//方法二:static double Add(double a, int b){return a + b;}//方法三:static double Add(double a, double b){return a + b;}//方法四:static double Add(int a, double b){return a + b;}
三、高级参数
1.函数参数传递(值传递)
正常的参数传递,在函数结束后其内部值不会对外界产生影响,因为实参传给形参的数据使按值传递(在栈中开辟新的空间,复制数值),在函数内部修改形参不会影响实参值。
修饰符 int 函数名(int x,int y)
{方法;
}
2.ref参数(引用传递)
ref 参数:实参传递给形参的是内存地址,二者指向相同的内存空间,所以对形参的修改均会反映到实参上
修饰符 int 函数名(ref int x,int y)
{方法;
}
3.out参数(引用传递)
同ref参数一样,out参数也是引用传递,不同的是:ref 参数要求在传递之前必须赋值,而out参数不用赋值即可使用
用out参数可以使一个函数返回多个不同类型的值
修饰符 int 函数名(out int x,int y)
{方法;
}
4.params参数
如果函数中有多个相同类型的参数,则可定义为params参数,这是一个一维数组,在参数数目可变时采用。
修饰符 int 函数名(params int[] x)
{方法;
}
四、递归调用
1.递归的概念
函数通过直接或间接的方式调用自己的算法(自己调用自己)
原则:
函数会一直调用自己,直到满足特定条件(递归要有一个结束条件);
递归调用时会传递些参数,每次调用都会将一个新的参数传递给自己;
2. 实例:递归从1加到100
static int AddNum(int n)
{if (n == 1) return 1;return n + AddNum(n - 1);
}
C#中的函数(也叫方法)相关推荐
- pythonlower函数_python中lower函数实现方法及用法讲解
之前小编介绍过python中将字符串小写字符转为大写的upper函数的使用方法(upper函数).有将小写转为大写的需要,那也有将大写转为小写的情况.本文主要介绍在python中可以将字符串大写自摸转 ...
- python中的方法什么意思_python中的函数和方法的区别是什么
python中的函数和方法的区别: 1.函数要手动传self,方法不用传self. 2.如果是一个函数,要用类名去调用,如果是一个方法,要用对象去调用. 举例说明:class Foo(object): ...
- 查看dll中的函数(方法)
https://jingyan.baidu.com/article/5553fa82b953b365a23934b7.html 查看dll中的函数(方法) 听语音
- C++中SORT函数使用方法
C++中SORT函数使用方法 一.sort函数 1.sort函数包含在头文件为#include的c++标准库中,调用标准库里的排序方法可以实现对数据的排序,但是sort函数是如何实现的,我们不用考虑! ...
- Makefile中patsubst函数使用方法
Makefile中patsubst函数使用方法 patsubst函数用于将文件模式进行替换. 一.作用 替换文件后缀. 二.格式 $(patsubst 原模式, 目标模式, 文件列表) 三.实例 ...
- java中instr函数_Oracle中instr函数使用方法
Oracle中instr函数使用方法 更新时间:2012年11月03日 00:53:51 作者: 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置.只检索一次,就是 ...
- php7 iconv函数,分析php中iconv函数使用方法
分析php中iconv函数使用方法 最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些. ...
- JavaScript如何声明对象、函数以及对象中的函数(即方法)
目录 声明对象的2种最常见方法 声明函数的2种最常见方法 在对象中声明函数 声明对象的2种最常见方法 1) var Zhihuijun = {name:'彭志辉',age:28,upName:'稚晖君 ...
- 简单介绍SQL中ISNULL函数使用方法
这篇文章介绍了SQL Server.MySQL.Oracle三种数据库中ISNULL函数的使用方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 SQL Ser ...
最新文章
- 为安装有系统及应用的服务器更换硬盘方法一例
- time时间格式输出转换
- Git的简单使用以及在Django中有关日志文件的忽略
- CSS浏览器兼容汇总
- JVM真香系列:.java文件到.class文件
- 2019量子计算机上市公司,2019年第一炮:量子计算机终于来了!
- 声网:疫情期间日均通话分钟数较日常增长近一倍 达15.6亿分钟
- mysql 漏洞 2015_Oracle MySQL Server远程安全漏洞(CVE-2015-0411)
- 深思 JAVA IT 求职
- k8s资源对象及API群组
- java 偏向锁的作用_java--偏向锁
- Android自定义控件学习
- Acwing-872. 最大公约数
- Esp8266 进阶之路25【高级篇】深聊下esp8266的串口 Uart 通讯中断编程,为您准备好了 NONOS 版本 和 RTOS 系统的串口驱动文件。(附带Demo)
- Bitwise Exclusive-OR Sequence
- c 语言 控制台程序 行字体颜色,C# 控制台程序设置字体颜色
- MS---数据库概念回顾
- DP线和HDMI线区别,优缺点,传输显示器图像速率
- 接口自动化测试(4)-接口测试
- 数据安全--8--数据安全中的部分技术最佳实践