参数详解

  • 参数
    • 形参
    • 实参

我们知道方法是可以被程序中很多地方调用的命名代码单元,它能把一个值返回给调用代码。返回一个值的确有用,但如果需要返回多个值呢?还有,能在方法开始执行的时候把数据传入方法也会有用。参数就是允许你做这两件事的特殊变量。

参数

形参

形参是本地变量,它声明在方法的参数列表中,而不是在方法体中。
下面的方法头展示了参数声明的语法。它声明了两个形参:一个int型,一个double型。

public void PrintSum( int x, double y )//此处的xy就是形参的声明
{............(方法体)
}
  1. 因为形参是变量,所以他们有类型和名称,并能被写入和读取。
  2. 和方法中的其他本地变量不同,参数在方法体的外面定义并在方法开始之前初始化(但有一种类型例外,称为输出参数,下面会讲到)。
  3. 参数列表中可以由任意数目的形参声明,而且声明必须用逗号隔开。

形参在整个方法体内使用,在大部分地方就像其他本地变量一样。
例如,下面的方法声明使用两个形参x和y,以及一个本地变量sum,他们都是Int型。

public static void PrintSum(int x ,int y){int sum = x + y;Console.WriteLine("Newsflash:{0}+{1} is {2}",x,y,sum);}

实参

当代码调用一个方法时,形参的值必须在方法的代码开始执行之前被初始化。

  1. 用于初始化形参的表达式或变量称作为实参。
  2. 实参位于方法调用的参数列表中。
  3. 每一个实参必须与对应形参的类型相匹配,或是编译器必须能够把实参隐式转换为那个类型。
    例如,下面的代码展示了方法的调用,它有两个int型的实参。
int b = 2;
PrintSum(5, b);//b为int类型的变量

当方法被调用的时候,每个实参的值都会被用于初始化相应的形参,方法体随后被执行。
注意,实参的数量必须和形参的数量一致,并且每个实参的类型也必须和所对应的形参类型一致。这种形式的参数叫做位置参数

位置参数示例
在下面的代码中,MyClass这个类声明了两个方法:一个方法接受两个整数并且返回他们的和,另一个方法接受两个double并且返回他们的平均值。对于第二次调用,注意编译器把int值5和b隐式转换成了double类型。

class Program{static void Main(string[] args){MyClass myClass = new MyClass();int a = 6;Console.WriteLine("Sum:{0}+{1} is {2}", 5, a, myClass.Sum(5,a));Console.WriteLine("Avg:{0}+{1} is {2}", 5, a, myClass.Avg(5, a));}}class MyClass{public int Sum (int x,int y){return x + y;}public double Avg(double a ,double b){return (a + b) / 2.0;}}

这段代码产生如下输出:

Sum:5+6 is 11
Avg:5+6 is 5.5

C#参数详解一(形参和实参)相关推荐

  1. 定义一个没有参数的函数、输出python3次_Python函数参数详解,三天让你掌握python,不再是小白

    原标题:Python函数参数详解,三天让你掌握python,不再是小白 引言 随着程序功能的增多,代码量随之增大,此时仍不加区分地把所有功能的实现代码放到一起,将会使得程序的组织结构不清晰,可读性变差 ...

  2. Python函数的参数详解

    Python函数的参数详解 函数是一个通用的程序结构组件.你也许已经在其他的编程语言中见到过,有时也被称为子程序或过程.简而言之,函数主要扮演了两个角色: 1)最大化代码重用和最小化代码冗余--函数允 ...

  3. python中def func是什么意思_Python的函数参数详解

    原标题:Python的函数参数详解 前言 Python中函数的参数可以分为两大类形参和实参~ def func(x, y): # x, y 就是形参 print(x, y) func(2, 3) # ...

  4. 一文详解java线程池 详解Java线程池的七个参数 详解池化技术 java如何选择核心线程数 详解Java线程池的拒绝策略

    目录 引言 线程池使用场景 加快请求响应(响应时间优先) 加快处理大任务(吞吐量优先) 特殊说明 线程池的池化技术 线程池的创建 手动创建 创建newFixedThreadPool线程池 创建newS ...

  5. 站长在线Python精讲:在Python函数中的默认参数详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中的默认参数详解>.本文的主要内容有:默认参数的概念和默认参数的示例.默认参数不能设置可变对象. 目录 1 ...

  6. 6、Pytest之Fixture参数详解及使用

    以下内容纯属个人理解,如有不足,还请指正,转载请注明出处,喜欢请动动小指头点赞评论哦(▽)! Fixture参数详解及使用 Fixture的调用方式: 参数详解: 1.SCOPE scope = &q ...

  7. Pytest之Fixture参数详解及使用

    Fixture参数详解及使用 Fixture的调用方式: @pytest.fixture(scope = "function",params=None,autouse=False, ...

  8. pthread_create函数的详细讲解(包括向线程函数传递参数详解)

    pthread_create是UNIX环境创建线程函数 头文件 #include<pthread.h> 函数声明 int pthread_create(pthread_t*restrict ...

  9. CI流水线配置文件参数详解(一)

    文章目录 4. 参数详解(一) 4.1 ``script`` 4.2 ``image`` 指定使用Docker镜像.如 ``iamge:name`` ,暂时忽略. 4.3 ``before_scrip ...

最新文章

  1. ps抠图怎么放大图片_PS教程:透明玻璃杯不会抠图?一分钟利用通道面板快速抠图...
  2. wordcount代码_Scala小案例之wordcount
  3. 51nod 1766
  4. linux的exec函数
  5. python变量类型有几种_python十种变量类型
  6. 暴露的全局方法_面试刷题36:线程池的原理和使用方法?
  7. SGU 252 Railway Communication(KM)
  8. awesome python 中文版 相见恨晚!(pythonNB的第三方资源库)
  9. iCloud5_Building and Running Your App
  10. Makefile自动生成:cmake
  11. gmm聚类python_聚类算法GMM和KMeans?
  12. 华为 oj java题库_华为OJ 201301 JAVA题目0-1级
  13. 计算机软考里面的英语试题,计算机软考模拟试题
  14. 谷歌重返中国_我如何利用数据科学重返幻想英超联赛并进入前1名
  15. P2440 木材加工
  16. 图片哈希概述(image hash)
  17. python控制苹果手机触摸屏失灵怎么办_苹果6sp屏幕失灵怎么办 这些解决方法绝对最易学...
  18. 论文中不带边框表格制作方法
  19. python数据分析师下载_2020云开见明Python数据分析师特训营,全套课程资源下载...
  20. Android--打造流行的无数据空布局页面

热门文章

  1. WPF ListBox颜色交替及以击事件实现
  2. 【Allen方差】计算allen方差
  3. 关于win7 出现两个本地连接不能上网的问题?
  4. 关于远心镜头的基础知识
  5. DDD话语评价之二:“值对象”是DDD的创新吗(上)
  6. Linux 软件包安装
  7. 【金三银四】 一文弄懂 js 数据类型、堆栈内存、作用域(链)、闭包知识拓展 (一)
  8. 第一章SKU核心思路
  9. DSP在线升级方案:TMS320C6678使用网络或者串口输出升级数据进行固件升级
  10. Spring【Bean的作用域与生命周期】