当前位置: 首页 > news >正文

深入解析C#方法:从基础到高级应用

第六次

一,关于方法

1,方法:把一些相关的代码封装在一个代码块里,可以给代码块添加一个名称,这个名称就是方法,可以通过调用这个方法名实现功能,方法可以重复用,减少代码重复率

2,方法语法: public static/非静态

3,public: 修饰符, 一般方法都是定义为公共

4,static (静态)/不写(非静态):静态方法找类名.方法名(),非静态方法对象.方法名()

5,void/非void: void只是功能的实现,没有结果, 非 void:有返回值的方法

6,方法名字 大驼峰命名法

7,()参数列表: 参数列表

8,{}: 方法体

****重点*****

1,方法的调用

【1】,静态方法找类名.方法名(), 非静态方法找对象.方法名()

【2】,先定义在调用

【3】,调用 本类里面可以省去对象或者类名

【4】, Program.Test1();//等待方法执行完之后 才会继续执行

二,参数列表

1,方法的参数:可以通过在调用的时候通过实参把值传递给方法中的形参,

2,实参: 有具体值的变量 int a =10

3,形参: 形式上的参数,没有具体值 只能把实参赋值给形参 例如方法定义参数列表(int a , int b)

三,方法参数的赋值问题

1,c#是面向对象的编程语言, 面向对象语言的三个基本特征:封装,继承,多态

2,值类型在赋值过程中 相当于把输入拷贝一份 备份一份传递过去 修改拷贝的一份不会影响另一个

3,

int a = 10;
int b = 20;
char c = '+';
Sum(a, c, b);

//a,b 以及num1 num2 的关系
//方法实参和形参中间会有赋值过程 即num1 = a num2 = b fuhao = c 目前a,bc 都属于值类型

Console.WriteLine(a + "--------" + b);//10 20;

四,方法参数赋值-值类型
1,引用类型 赋值问题(对象描述这个问题) 对象怎么来: 类创建对象的通用方法 类名 对象名 = new 类名();

2,引用类型变量存储的是内存地址,

3,普通变量的赋值场景

Girl g1 = new Girl();
g1.Name = "娘炮";
Girl g2 = g1;//把G1赋值给G2
g1.Name += " 提莫";
Console.WriteLine(g2.Name);//提莫
Console.WriteLine(g1.Name);//提莫

4,方法实参和形参的传递过程

Girl g3 = new Girl();
g3.Name = "冰女";
//调用方法的时候出现引用类型的赋值, a= g3
Test1(g3);//方法的实参和形参类型一致
Console .WriteLine(g3.Name+"-----------------");//都是修改之后的
5,参数不再是一个基本类型 而是对象类型

五,ref参数

1,ref参数的使用

定义方法的给参数添加ref关键字

2,调用带ref参数的方法

【1】,ref: 添加的目的其实就是想把参数改为引用类型的参数,实现在方法内部进行修改,达到修改实参的目的

【2】,使用ref要注意的 1,ref后面只能跟变量,不能跟具体的值

【4】,使用ref的时候必须给其一个初始值

【5】,Test2(10, ref 20);//ref后面只能跟变量,不能跟具体的值

3,,以下实参是值类型的时候。在方法内部修改形参不会影响到实参

要求能不能实现修改形参达到修改实参的目的

六,具有返回值的函数

1,有返回值的方法把void改成想要的类型 例如想返回一个字符串类型 把void改成string类

2,返回值的好处 可以其他地方使用这个结果 可以使用一个变量接收这个方法

3,例题,3个可乐瓶可以换一瓶可乐,现在有364瓶可乐问一共可以喝多少瓶可乐,剩下几个空瓶子
返回喝多少可乐(根据相关例题来理解)

“ 上文 为本次第六部分内容,后续将不定时更新,若对主题感兴趣,欢迎订阅获取更新通知.”

http://www.cnnetsun.cn/news/8507.html

相关文章:

  • 基于微信小程序的校园食堂点餐订餐系统(毕业设计项目源码+文档)
  • XGW-9000系列高端新能源电站边缘网关产品需求文档(PRD)
  • 多模态Agent的Docker服务编排全解析(架构师不愿透露的5大核心技巧)
  • 网络安全培训全攻略:零基础能学会吗?前景如何?
  • 仓颉stdx模块终极配置指南:从零开始快速上手
  • 使用开源模型微调,构建专属的测试用例生成机器人
  • COMSOL模拟等离子共振结构超材料:多波段高吸收率文献复现案例
  • 深度解析:5大实战技巧教你精准拆解量化策略的因子归因
  • 终极电商后台管理系统:mall-admin-web完整使用指南
  • 【量子模拟器开发新突破】:VSCode扩展实战指南,提升开发效率90%
  • 关于内联函数的理解学习
  • Whisper部署实战手册:从环境配置到性能调优的完整解决方案
  • 昇腾AI:不只是一颗芯片,更是一个时代的算力答案
  • 6、网络服务枚举与安全防护全解析
  • 8、Windows系统认证攻击与防范全解析
  • Linux网络参数:现代内核的智能优化之道
  • C# 随机数添加数组对象和数组的查询方法
  • RouterOS 7.19 x86深度技术解析:网络协议优化与系统稳定性关键技术
  • 你还在盲调量子电路?这3个VSCode插件让你秒变QML调试高手
  • RAG知识库——怎么构建一个高质量的知识库
  • 以向善价值观构建数字信任,数美2025 AI风控大会重磅发布“AI风控新范式”
  • 终极嵌入式按键解决方案:MultiButton状态机库实战指南
  • ZyPlayer终极配置指南:3步打造专属影院级体验
  • gmhelper:5分钟快速掌握国密算法SM2/SM3/SM4的完整应用方案
  • 19、高级Shell编程与正则表达式过滤器
  • PHP兼容性检查工具完整指南
  • 基于元胞自动机交通模型的三车道Matlab代码:模拟车辆多车道行驶及可视化分析系统
  • 豆包手机二手价被炒到3.6万元;被曝开发“芯片定位”技术,英伟达:这不是后门;千问月活突破3000万 | 极客头条
  • Wan2.2-T2V-A14B适合哪些行业?五大垂直领域推荐
  • 基于西门子S7-200PLC的自动灌溉系统组态王组态 带解释的梯形图程序,接线图原理图图纸,io分配