方法的基本的语法格式为:

[作用域] 返回类型 方法名(参数1类型 参数1,参数2类型 参数2……)

{

  //方法体

}

形参和实参这两个概念针对的是值类型的参数,对于引用参数则不存在这个问题。

首先,区分形参和实参

Example:

  public int Foo(int i)

  {

    //方法体

  } 

  //调用Foo方法

  int a = 0;

  a = Foo(a);

在这个例子中,i是形参;a是实参。

其次,区分值参数、引用参数、输出参数、数组类型参数

值参数(Value parameter):

Example:

public double Get(double r)

{

  //方法体

}

使用值参数时,传递到方法体中的是实参的一个副本,而不是实参本身。

引用参数(Ref parameter):

Example:

public double Get(ref double r)

{

  //方法体

}

引用类型保存的是引用,而不是数值。引用参数传递到方法中的是其本身。

在调用还有引用参数的方法时,也需要使用ref关键字来标识参数。

输出参数(Out parameter):

Example:

public double Get(out double r)

{

  //方法体

}

C#提供了输出参数,可以返回多个值,输出参数使用out关键字定义。

与引用参数不同的是,输出参数不需要初始化。

数组类型参数(params type[]):

Example:

public double Get(params double[] r)

{

  //方法体

}

参数的类型一样但是个数不确定,这种类型的参数是通过数组的方式传递到方法中,

在方法体内往往需要用循环语句把数组参数遍历处理。

可选参数

Example:

public double Get(double r = 0)

{

  //方法体

}

可选参数就是将参数在定义的时候,设置一个默认值。

调用时若设置了该参数的值,则使用设置的值;若没有设置该参数的值,则使用默认参数。

转载于:https://www.cnblogs.com/SusieHu/p/4176062.html

方法中的参数的五种形式相关推荐

  1. 在 Java 中初始化 List 的五种方法

    转载自  在 Java 中初始化 List 的五种方法 Java 中经常需要使用到 List,下面简单介绍几种常见的初始化方式. 1.构造 List 后使用 List.add 初始化 List< ...

  2. php批量请求url_php中请求url的五种方法总结

    本文主要给大家介绍了关于php中请求url的五种方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 五种方法: 前三种都是php基本的文件操作函数 curl()是php扩展需要开启,l ...

  3. countif函数比较两列不同_Excel中COUNTIF函数的五种必学使用技巧

    原标题:Excel中COUNTIF函数的五种必学使用技巧 院长大大丨图文 教程基于Excel 2016 提起COUNTIF函数,各位小伙伴都知道它的含义是条件计数.但这个简单的计数函数,却可以引申出很 ...

  4. java 可变参数方法_Java方法中的参数太多,第7部分:可变状态

    java 可变参数方法 在我的系列文章的第七篇中,有关解决Java方法或构造函数中过多参数的问题 ,我着眼于使用状态来减少传递参数的需要. 我等到本系列的第七篇文章来解决这个问题的原因之一是,它是我最 ...

  5. java方法传对象参数_Java方法中的参数太多,第2部分:参数对象

    java方法传对象参数 在上一篇文章中 ,我研究了与方法和构造函数的长参数列表相关的一些问题. 在那篇文章中,我讨论了用自定义类型替换基元和内置类型以提高可读性和类型安全性. 这种方法使方法或构造函数 ...

  6. Java方法中的参数太多,第7部分:可变状态

    在我的系列文章的第七篇中,有关解决Java方法或构造函数中过多参数的问题 ,我着眼于使用状态来减少传递参数的需要. 我等到本系列的第七篇文章来解决这个问题的原因之一是,它是我最不喜欢的减少传递给方法和 ...

  7. Java方法中的参数太多,第2部分:参数对象

    在上一篇文章中 ,我研究了与方法和构造函数的长参数列表相关的一些问题. 在那篇文章中,我讨论了用自定义类型替换基元和内置类型以提高可读性和类型安全性. 这种方法使方法或构造函数的众多参数更具可读性,但 ...

  8. mysql中insert语句的五种用法

    文章目录 前言 一.values参数后单行插入 二.values参数后多行插入 三.搭配select插入数据 四.复制旧表的信息到新表 五.搭配set插入数据 总结 前言 insert语句是标准sql ...

  9. 职场中不可深交的五种人

    在工作遇到困难的时候,满腹牢骚是无济于事的,要抱有正面的态度,着眼于有益的事情.清楚你的人生目标.使命及长远计划,列出一份你个人的成绩及获得的利益,每当你怀疑的时候,便拿来作参考.与抱有正面理想的人为 ...

最新文章

  1. AI一分钟 | “芯片门”影响仍在,英伟达旗下多款芯片也遭遇“幽灵”漏洞影响;贾跃亭邀媒体试乘法乐第FF91,你怎么看?
  2. 青源 LIVE 预告 | McGill李岳Mila唐建团队新作:可迁移、可解释的单细胞RNA测序模型...
  3. 机器学习(二)监督学习
  4. netsh interface portproxy 转发不生效_SecureCRT远程端口转发不生效的解决方法
  5. 系统设计基础:系统设计基本任务相关知识
  6. 观察者模式-Observer Pattern
  7. JavaScript 图片切割效果
  8. yum install php-pecl-mongo,pecl安装php mongodb扩展
  9. 3步解决网盘限速,还能远程下载!
  10. php中如何计算字符串长度,PHP字符串长度计算 - strlen()函数使用介绍
  11. maven集成tomcat7
  12. 单元格下拉全选快捷键_excel全选快捷键是什么,excel表格全选快捷键是什么?...
  13. eslint 无法格式化ts_vscode 使用ESLint 自动检查,保存时自动格式化
  14. 《嵌入式开发》实验项目
  15. lerna 项目中集成 babel lint-staged husky eslint
  16. 博士生成长需要经历的7道门
  17. 【matplotlib】绘制简单二维、三维图像
  18. 中国磷酸市场应用现状规模与需求前景预测报告2022-2028年
  19. 职位介绍 之 嵌入式开发工程师
  20. 学习C++,做动态曲线,可以左右移动

热门文章

  1. BZOJ2299 HAOI2011向量(数论)
  2. Kafka学习之路 (三)Kafka的高可用
  3. 【链表】BZOJ1588: [HNOI2002]营业额统计
  4. Judge Route Circle
  5. Python核心编程读笔 8: 文件和输入输出
  6. 前微博副总私房干货:微博平台与架构从零到IPO的打磨经验
  7. 关于RF中类似于异常(TRY语句)情况的处理
  8. JAVA模拟HTTP post请求上传图片
  9. UVa 11466 - Largest Prime Divisor
  10. javascript中的表结构