C# 参数-ref 参数、out 参数和 params type[] 参数数列(转)
来源:互联网 发布:足球鞋淘宝 编辑:程序博客网 时间:2024/05/16 06:54
C# 中的四种参数形式:
一般参数
REF 参数
OUT 参数
参数数列
本文将介绍后三种的使用。
1. REF 参数
在C语言你可以通传递地址(即实参)或是DELPHI语言中通过VAR指示符传递地址参数来进行数据排序等操作,在C#语言中,是如何做的呢?"in"关键字可以帮助你。这个关键字可以通过参数传递你想返回的值。
namespace TestRefP { using System; public class myClass { public static void RefTest(ref int iVal1 ) { iVal1 += 2; } public static void Main() { int i=3; //变量需要初始化 RefTest(ref i ); Console.WriteLine(i); } } }
必须注意的是变量要须先初始化。
结果:
5
2. OUT 参数
你是否想一次返回多个值?在C++语言中这项任务基本上是不可能完成的任务。在c#中"out"关键字可以帮助你轻松完成。这个关键字可以通过参数一次返回多个值。
public class mathClass
{
public static int TestOut(out int iVal1, out int iVal2)
{
iVal1 = 10;
iVal2 = 20;
return 0;
}
public static void Main()
{
int i, j; // 变量不需要初始化。
Console.WriteLine(TestOut(out i, out j));
Console.WriteLine(i);
Console.WriteLine(j);
}
}
{
public static int TestOut(out int iVal1, out int iVal2)
{
iVal1 = 10;
iVal2 = 20;
return 0;
}
public static void Main()
{
int i, j; // 变量不需要初始化。
Console.WriteLine(TestOut(out i, out j));
Console.WriteLine(i);
Console.WriteLine(j);
}
}
结果:
0 10 20
3. 参数数列
参数数列能够使多个相关的参数被单个数列代表,换言之,参数数列就是数量不确定的变量。
using System;
class Test
{
static void F(params int[] args) {
Console.WriteLine("# 参数: {0}", args.Length);
for (int i = 0; i < args.Length; i++)
Console.WriteLine("/targs[{0}] = {1}", i, args[i]);
}
static void Main() {
F();
F(1);
F(1, 2);
F(1, 2, 3);
F(new int[] {1, 2, 3, 4});
}
}
class Test
{
static void F(params int[] args) {
Console.WriteLine("# 参数: {0}", args.Length);
for (int i = 0; i < args.Length; i++)
Console.WriteLine("/targs[{0}] = {1}", i, args[i]);
}
static void Main() {
F();
F(1);
F(1, 2);
F(1, 2, 3);
F(new int[] {1, 2, 3, 4});
}
}
以下为输出结果:
# 参数: 0
# 参数: 1
args[0] = 1
# 参数: 2
args[0] = 1
args[1] = 2
# 参数: 3
args[0] = 1
args[1] = 2
args[2] = 3
# 参数: 4
args[0] = 1
args[1] = 2
args[2] = 3
args[3]
- C# 参数-ref 参数、out 参数和 params type[] 参数数列(转)
- C# 参数-ref 参数、out 参数和 params type[] 参数数列(转)
- c# 参数 params ,ref ,out
- C#参数类型 params、out和ref
- params out ref 参数
- C#的方法参数-Params,Ref,Out
- c#参数修饰符ref、out、params
- C#的方法参数--params、ref、out
- C# 参数关键字(params,ref,out)
- c#中的ref、out、params参数
- C#高级参数{out,ref,params}
- C#的参数类型:params、out和ref
- C# 方法参数params ref out 的理解和区分
- C#回顾学习笔记十六:out、ref和params参数
- ref 和out以及params参数详解
- 方法参数(params,ref,out)
- 方法参数:ref out params
- params,ref,out 参数问题
- pci、pci-x、pci-e的简单说明(说的很明白)
- 如何才能找到优质资源呢
- 中国饭局里的规矩
- 3月15号
- 用StructLayout特性限定声明结构或类
- C# 参数-ref 参数、out 参数和 params type[] 参数数列(转)
- 职业生涯步步高:一位资深经理人的职业生涯感悟
- Cookie知识点整理
- PE中添加外置程序(转载)
- 戴手表,6个细节一定要注意
- 远程注入DLL(简单描述)
- 谷歌销售撤离细节曝光 谷歌或月底关闭
- 给pe穿上漂亮的外衣
- ICMP(Internet Control Message Protocol)协议[总]