函数初识
- 函数好比是对象的动作行为。
- 在定义函数要想好函数所承担的作用,职责(作用) 越单一越好。
- 函数命名使用大驼峰命名,即开头首字母大写
- 多个单词拼接时,所有单词首字母大写。
Add(); AddCount(); GetUsrInfo();
函数的参数设置&传参行为
- 参数可认为是外部需要函数帮忙处理的数据。
- 外部通过传递参数的形式,将需要处理的数据交给函数处理。
- 函数返回值可以认为是外部调用某种行为后得到的一种反馈。
修饰符种类
- 无修饰符:如果一个参数没有用参数修饰符标记,则认为它将按值进行传递,这将意味着被调用的方法收到原始数据的一份副本。
-
out
: 输出参数由被调用的方法赋值,因此按引用传递,如果被调用的方法没有给输出参数赋值,就会出现编译错误,也就是说,只要调用了,就必须给赋值。out
最大的用途就是调用者只使用一次方法的调用就能获得多个返回值。(在C#7.0中要实现一次方法的调用就能获得多个返回值,建议使用元组。是元组不是元祖),调用的是指针,是地址
-
ref
: 调用者赋初值,并且可以由被调用的方法可选的重新赋值(数据是按引用传递的)。如果被调用的方法未能给ref
参数赋值,也不会有编译器错误。
- 了解即可
params
:这个参数修饰符允许将一组可变的数量的参数作为单独的逻辑参数进行传递, 方法只能有一个params
修饰符,而且必须是方法的最后一个参数。
-
out
和ref
的区别
-
out
修饰的参数必须在方法内修改,而ref
可以修改也可以不修改;
-
out
在传入参数的时候,参数是局部变量的话,可以不用赋值,因为out
一定会对其进行赋值;
- 而
ref
修饰的参数,在实参必须有初始值才能调用。因为ref
修饰的不一定会给它赋值。
-
没返回值(可以理解为邮差送邮件,你告诉他去哪里,邮差完成任务就可以了)
文章图片
有返回值(可以理解为中介,你告诉他你需要什么样子的房子,然后他将结果告诉你)
文章图片
参数修饰符
无修饰符
文章图片
canhsu
message的值是没有发生改变的
public void SendMessage(String message)
{
message = "好久不见,你好吗!"; //只是将message的值拷贝到这
MessageBox.Show(message); //
}
out
:文章图片
输出的俩个值都为好久不见,你好吗!,第一个值的内容发生改变
out同时可以返回多个返回值
文章图片
ref
文章图片
ref是进去前必须赋值,出来无所谓
案例1
文章图片
推荐阅读
- #|一场樱花雨(Python实现)
- #|最详细matlab 2018a安装教程步骤.
- Go学习|Go学习:接口的值类型
- 一些零碎代码|几十行代码,打造一款JavaScript便签系统
- 微服务学习|Nginx学习笔记
- Java基础的查漏补缺|Java基础查漏补缺之你可能不知道的final关键字的知识点
- #|《Effective Modern C++》学习笔记 - Item 29: 移动操作的“坑点”(它们可能不存在,开销不小或不会被调用)
- Java基础总结|Java期末复习速成(七)
- Java基础总结|Java期末复习速成(六)