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

c#编程基础学习之方法

目录

  • C#方法
  • 方法参数
    • 默认参数值
    • 多个参数
    • 返回值
    • 命名参数
  • 方法重载

C#方法

实例
在程序类内创建一个方法:

class Program
{static void MyMethod() //static 静态意味着方法属于程序类,而不是程序类的对象。void 表示此方法没有返回值。MyMethod() 是方法的名称{// 要执行的代码}
}

1、在C#中,命名方法时最好以大写字母开头,因为这样可以使代码更易于阅读;
2、定义方法名称后跟括号();
3、定义一次代码,多次使用,用于执行某些操作时也称为函数;
4、调用(执行)一个方法,写下方法名,后跟括号()分号.

方法参数

参数分形参实参,参数在方法中充当变量
参数在方法名称后面的括号内指定,可以同时添加多个参数,用逗号分隔开即可。
实例

static void MyMethod(string fname) //该方法将名为fname的string字符串作为参数。
{Console.WriteLine(fname + " Refsnes");
}static void Main(string[] args)
{MyMethod("Liam");	//Liam是实参}// Liam Refsnes

默认参数值

定义方法的时候在括号里使用等号,调用方法时不带实参则会默认使用此值,
例:

static void MyMethod(string country = "Norway") //默认值的参数通常称为可选参数。country是一个可选参数,"Norway"是默认值。
{Console.WriteLine(country);
}static void Main(string[] args)
{MyMethod("Sweden");MyMethod();	//不带参数调用方法,使用默认值Norway
}// Sweden
// Norway

多个参数

实例

static void MyMethod(string fname, int age) 
{Console.WriteLine(fname + " is " + age);
}static void Main(string[] args)
{MyMethod("Liam", 5);MyMethod("Jenny", 8);	//使用多个参数时,方法调用的参数数必须与参数数相同,并且参数的传递顺序必须相同。
}// Liam is 5
// Jenny is 8

返回值

使用的void关键字表示该方法不应返回值。如果希望方法返回值,可以使用基本数据类型(如int 或double)而不是void,并在方法内使用return关键字:

实例

static int MyMethod(int x) 
{return 5 + x;
}static void Main(string[] args)
{Console.WriteLine(MyMethod(3));
}// 输出 8 (5 + 3)

命名参数

也可以使用 key: value语法发送参数。

这样,参数的顺序就无关紧要了;

实例

static void MyMethod(string child1, string child2, string child3) 
{Console.WriteLine("The youngest child is: " + child3);
}static void Main(string[] args)
{MyMethod(child3: "John", child1: "Liam", child2: "Liam");
}// 最小的孩子是: John

方法重载

使用方法重载,只要参数的数量类型不同,多个方法可以具有相同的名称不同的参数;

实例

int MyMethod(int x)
float MyMethod(float x)
double MyMethod(double x, double y)

实例

static int PlusMethod(int x, int y)	//方法名相同
{return x + y;
}static double PlusMethod(double x, double y)	//参数类型不同
{return x + y;
}static void Main(string[] args)
{int myNum1 = PlusMethod(8, 5);double myNum2 = PlusMethod(4.3, 6.26);Console.WriteLine("Int: " + myNum1);Console.WriteLine("Double: " + myNum2);
}

相关文章:

  • maven: 标签总结
  • 雄安建博会:中矿雄安新区的总部开工建设
  • Windows下docker-compose部署DolphinScheduler
  • 【原创】springboot+vue校园疫情防控管理系统设计与实现
  • 终极数据传输隐秘通道
  • 【鸿蒙开发】组件状态管理@Prop,@Link,@Provide,@Consume,@Observed,@ObjectLink
  • openssl3.2 - exp - zlib
  • 三种常见webshell工具的流量特征分析
  • Web前端—属性描述符
  • mySql数据库学习002-表数据查询操作
  • three.js尝试渲染gbl模型成功!(三)
  • unable to find a medium containing a live file system解决办法!
  • c++的学习之路:22、多态(1)
  • 【MATLAB源码-第184期】基于matlab的FNN预测人民币美元汇率 输出预测图误差图RMSE R2 MAE MBE等指标
  • [lesson17]对象的构造(上)
  • Cumulo 的 ClojureScript 模块已经成型
  • es6--symbol
  • ES6系列(二)变量的解构赋值
  • jquery cookie
  • node.js
  • React系列之 Redux 架构模式
  • spring boot下thymeleaf全局静态变量配置
  • spring security oauth2 password授权模式
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 服务器从安装到部署全过程(二)
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 计算机在识别图像时“看到”了什么?
  • 使用agvtool更改app version/build
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 原生Ajax
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​secrets --- 生成管理密码的安全随机数​
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #Linux(make工具和makefile文件以及makefile语法)
  • (windows2012共享文件夹和防火墙设置
  • (第61天)多租户架构(CDB/PDB)
  • (一)VirtualBox安装增强功能
  • .CSS-hover 的解释
  • .NET Core WebAPI中封装Swagger配置
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET6实现破解Modbus poll点表配置文件
  • .Net接口调试与案例
  • .NET轻量级ORM组件Dapper葵花宝典
  • //解决validator验证插件多个name相同只验证第一的问题
  • @angular/cli项目构建--Dynamic.Form
  • @Mapper作用
  • [ C++ ] STL_list 使用及其模拟实现
  • [ SNOI 2013 ] Quare
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • []指针
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [ajaxupload] - 上传文件同时附件参数值
  • [C# 开发技巧]如何使不符合要求的元素等于离它最近的一个元素
  • [Jenkins] Docker 安装Jenkins及迁移流程