首页 / 软件开发 / .NET编程技术 / 理解.Net中带out、ref的方法签名和普通方法签名的区别
理解.Net中带out、ref的方法签名和普通方法签名的区别2011-05-13 博客园 Leo Zhang今天有位新同事问我.Net中带out、ref的方法签名和普通方法签名的有什么区别?我觉得可以从下面的例子说明一些关键的地方。一、ref/out修饰符说明对于用ref/out修饰符的说明在MSDN上有详细的说明,地址如下:http://msdn.microsoft.com/en-us/library/t3c3bfhx(VS.80).aspx。二、透过IL代码观察ref/out修饰的方法签名(以值类型为例)1、示例代码:using System;
namespace ConsoleMain
{
class Program
{
static void Main()
{
Int32 p ;
TestRef(out p); //①
//TestRef(ref p) //②
TestRef(p); //③
Console.ReadKey();
}
static void TestRef(Int32 para) //④
{
para = 1;
}
static void TestRef(out Int32 para) //⑤
{
para = 2;
}
/*static void TestRef(ref Int32 para) //⑥
{
Para3 = 3;
} */
}
}