本文摘自PHP中文网,作者黄舟,侵删。
本文主要讨论params关键字,ref关键字,out关键字。非常不错,具有参考借鉴价值,需要的朋友参考下吧关于这三个关键字之前可以研究一下原本的一些操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
class Program
{
static void ChangeValue( int i)
{
i=5;
Console.WriteLine( "The ChangeValue method changed the value " +i.ToString());
}
static void Main( string [] args)
{
int i = 10;
Console.WriteLine( "The value of I is " +i.ToString());
ChangeValue(i);
Console.WriteLine( "The value of I is " + i.ToString());
Console.ReadLine();
}
}
}
|
观察运行结果发现

值并没有被改变,也就是说此时的操作的原理可能也是跟以前C语言的函数操作是一样的

本文主要讨论params关键字,ref关键字,out关键字。
1)params关键字,官方给出的解释为用于方法参数长度不定的情况。有时候不能确定一个方法的方法参数到底有多少个,可以使用params关键字来解决问题。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
class number
{
public static void UseParams( params int [] list)
{
for ( int i=0;i<list.Length;i++)
{
Console.WriteLine(list[i]);
}
}
static void Main( string [] args)
{
UseParams(1,2,3);
int [] myArray = new int [3] {10,11,12};
UseParams(myArray);
Console.ReadLine();
}
}
}
|
2)ref关键字:使用引用类型参数,在方法中对参数所做的任何更改都将反应在该变量中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | using System;
using System.Collections.Generic;
using System.Text;
namespace ParamsRefOut
{
class number
{
static void Main()
{
int val = 0;
Method( ref val);
Console.WriteLine(val.ToString());
}
static void Method( ref int i)
{
i = 44;
}
}
}
|
3) out 关键字:out 与ref相似但是out 无需进行初始化。
以上就是关于C#中三个关键字params,Ref,out的详细介绍的详细内容!
相关阅读 >>
vs寻找C#的运行库文件
详细介绍C#中调用formatmessage api
详解C# 控制台倒计时
C#获取listview鼠标下的item案例
分享125个基本的C#面试问答
详细介绍C#实现的md5加密功能与用法示例
C# gridcontrol的模糊查询实现代码实例
浅谈c#中的早期绑定和后期绑定
【C#教程】C# 枚举(enum)
C#日期格式转换的公共方法类的实现详解
更多相关阅读请进入《C#》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » 关于C#中三个关键字params,Ref,out的详细介绍