C#.NET中的引用参数(带关键字ref)和值参数

/*
 * Created by SharpDevelop.
 * User: noo
 * Date: 2009-8-16
 * Time: 13:24
 * 
 * 引用参数(带关键字ref)和值参数
 
*/
using System ;
class A
{
    
public static void showDouble(int val)
    {
        val 
*=2;
        Console.WriteLine (
"该数的两倍为:{0}",val);
    }
}
class B
{
    
public static void showDouble(ref int val)//注意这里的写法为带有关键字ref,表明该参数为引用参数
    {
        val 
*=2;
        Console.WriteLine (
"该数的两倍为:{0}",val);
    }
}
class Test
{
    
static void Main()
    {
        Console.WriteLine (
"以下是值参数的实现方式");
        
int start=5;
        Console.WriteLine (
"原始值为:{0}",start);//5
        A.showDouble (start);//10
        Console.WriteLine ("处理后值为:{0}",start);//5
        
        
int begin=5;
        Console.WriteLine (
"以下是引用参数的实现方式");
        Console.WriteLine (
"原始值为:{0}",begin);//5
        B.showDouble (ref begin);//注意这里的调用方式也要加上ref,10
        Console.WriteLine ("处理后值为:{0}",begin);//10,这里与值引用得出的结果不一样,这里其实已经改变了参数的值
        
//因为变量的值可能会发生变化,所以调用中必须使用变量,而不能是常量,如上面的begin不能定义为const int begin=5
    }
}
posted @ 2009-08-16 18:41  爱生活,爱GIS  阅读(365)  评论(0编辑  收藏  举报