C#中参数的使用
来源:互联网 发布:网络关于蜂王蜂后寓意 编辑:程序博客网 时间:2024/05/20 18:51
C#有四种参数形式,即:
值参数:不使用任何关键字
引用参数:使用关键字ref
输出参数:使用关键字out
数组参数:使用关键字params
1、值参数
值参数的实际值不会被修改,在参数传递时,实际传递给形参的只是实参的一份拷贝,实参与形参的类型必须一致,至少形参到实参间存在一种隐式类型转换。
2、引用参数
如果需要将实参与形参的变化动态的保持一致,就需要使用引用类型,此时传递的是实参的地址,如果实参值发生变化,则形参也会相应发生变化。
引用类型参数使用关键字ref,但要注意,将变量作为引用类型参数传递前,必须先赋值。
例子:
namespace test_ref
{
public class testref
{
public static int testrefpar(ref int first)
{
first=20;
return 0;
}
public static void Main()
{
int i=10;
System.Console.WriteLine("在未使用引用传递前i的值:{0}",i);
int j=testrefpar(ref i);
System.Console.WriteLine("使用引用传递时,成员方法的返回值:{0}",j);
System.Console.WriteLine("使用引用传递时,i的值{0}",i);
}
}
}
3、输出参数
输出参数通过关键字out来定义,这与引用参数有些类似,均不用另外开辟内存区域,不同之处就是在方法调用前,不需要对输出参数的实参进行初始化。输出参数适用于传递成员方法被调用后返回数据的情形。
下面是我写的一个例子:
namespace testout
{
public class test_out
{
public static string test_out_par(out string backstring)
{
backstring="这是out成员方法被调用后返的变量值。";
return "这是out成员方法的返回值";
}
public static void Main()
{
string z;//不用进行初始化
System.Console.WriteLine(test_out_par(out z));//这里输出的是成员方法的返回值
System.Console.WriteLine(z);
}
}
}
4、数组参数
需要的参数个数可变或不定时,要使用到数组参数,数组参数通过关键字params来定义,定义数组参数时要注意以下几点:
⑴数组参数必须是方法参数数列表中的最后一个参数。
⑵数组参数必须是一维数组。
⑶不可与ref和out关键字组合使用。
下面是一个例子:
namespace test_params
{
public class testpar
{
public static int total(params int[] par)
{
int sum=0;
System.Console.Write("要计算的数的个数:{0}个,分别是:",par.Length);
foreach(int tmp in par)
{
System.Console.Write("{0},",tmp);
sum+=tmp;
}
System.Console.WriteLine("\n合计:{0}\n",sum);
return sum;
}
public static void Main()
{
int sum1,sum2,sum3,sum4;
int[] num={12,4,56,78,34};
sum1=total(2,5,6,7,22);
sum2=total(9,38,37,2,3,5,6);
sum3=total(1,2,3,4,5,6,7,8,9,10);
sum4=total(num);
System.Console.WriteLine("\n最终结果:\nsum1={0}\nsum2={1}\nsum3={2}\nsum4={3}",sum1,sum2,sum3,sum4);
}
}
}
- C#中参数的使用
- C#中参数的使用
- C# 中 params 的使用 可变参数
- c#中方法out参数的使用
- c#中使用动态参数
- C#中out的使用和数组型参数
- C#中out、ref、params参数的使用
- C#中方法的参数
- C#中方法的参数
- C#命名参数的使用
- C#中使用OpenGL:(六)C#中调用C函数时的参数传递问题
- C#中使用含参数的SQL语句一定要注意参数长度的设置
- C#中可选参数和命名参数的定义及使用
- C#中Ref参数使用之我见
- C#中Ref参数使用之我见
- C# 线程中使用Timer,并向其触发的事件(函数)中传递参数
- C# 线程中使用Timer,并向其触发的事件(函数)中传递参数
- C# 中??的使用
- 2011级-csdn-java-张侃— JavaWEB开发-国际化(一)
- VS 2010 openGL 配制方法
- 利用Python中的urllib模块下载文件到本地文件夹
- 关于jsp标签
- 使用Thrift RPC编写程序
- C#中参数的使用
- 一个起点
- GUI 剖析之 键盘方向键控制鼠标移动的实现
- ubuntu 12.04 与WINDOWS 文件共享解决
- 用AnimateWindow函数可以实现多种窗口的多种动态效果
- php运用adodb连接不同数据库
- 多个uiviewController之间传值
- php运用adodb连接不同数据库(实例)
- jsp标准标签库