C#方法参数

C#程序设计方法参数 :形式参数与实际参数和参数传递机制

方法参数的本质是为了在调用者和方法之间实现数据交换, 是方法接口的重要组成部分。

调用者在调用方法时,需要注意方法参数的个数、类型、位 置以及传递方向等规定。

## 形式参数

形式参数简称为形参,指的是方法定义时方法头中的形式参 数,这些形式参数在方法未被调用时不占据内存的存储单元, 只为了描述方法内的处理机制,其目的是用来接收调用该方法 时传入的参数。

形式参数是属于方法本身的变量,其初值来源于方法的调用, 只有在程序执行过程中调用了方法,形参才有可能得到具体的 值,并参与运算,执行方法的功能。

实际参数

调用方法时,实际传入到方法的参数称为实际参数。实际参 数必须有一个确定的值,它可以是常量、变量、表达式,甚至 是另一个方法调用的返回值。

实参的传递以形参为依据,其类型、数目、位置都要与形参 定义相符合。

如果实际参数和形式参数的定义不一致,则在调用方法时会 出现编译错误或者逻辑错误。

同时,实际参数还必须与方法定义时形式参数的数学、物理 等意义相同,否则程序运行也会出现逻辑错误。

参数传递机制

根据参数传递机制的不同,C#方法的形式参数分为四种: 值形参、引用形参、输出形参以及形参数组,通过在形参定义 时添加不同的参数描述符来表示。

1. 值形参

声明时不带修饰符的形参是值形参。

一个值形参对应于方法的一个局部变量,只是它的初始值来 自该方法调用所提供的相应实参。

当形参是值形参时,要求方法调用中的对应实参必须可以隐 式转换为形参的类型。

2. 引用形参
用 ref 修饰符声明的形参是引用形参。

引用形参所表示的存储位置就是方法调用时给出的那个实参 的存储位置。

当形参为引用形参时,方法调用中的对应实参必须由关键字 ref 并后接一个与形参类型相同的变量组成。变量在可以作为 引用形参传递之前,必须先明确赋值。

在采用引用形参的方法中,多个名称可能表示同一存储位置。

3. 输出形参

用out修饰符声明的形参是输出形参。

输出形参所表示的存储位置就是在该方法调用中作为实参给 出的那个变量所表示的存储位置。

输出参数可用于从方法向调用者传递数据。

当形参为输出形参时,方法调用中的相应实参必须由关键字 out 并后接一个与形参类型相同的变量组成。

变量在可以作为输出形参传递之前不一定需要明确赋值,但 是进行方法调用后,该变量将会被明确赋值。

在方法内部,输出形参最初被认为是未赋值的,因而必须在 使用它的值之前明确赋值,并且在方法返回之前,该方法的每 个输出形参都必须被明确赋值。

static int search(int x, int y,int z, out int max) 
{ 
	 int min,t;   
	 //下面3个if语句实现将x,y,z从小到大排序 
	  if (x>y){t=x;x=y;y=t;} 
	   if (x>z){t=x;x=z;z=t;}   
	   if (y>z){t=y;y=z;z=t;} 
	   min=x;  
	   max=z;   
	   return min;//由方法返回值带回最小值,输出形参带回最大值 
 } 
static void Main() 
{   
	int a=5,b=3,c=9,Max,Min;   
	Min=search(a,b,c,out Max);//由方法返回值带回最小值,输出形参 带回最大值   
	Console.WriteLine("Max is {0},Min is {1}",Max,Min); 
}
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读