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
    }
}

你可能感兴趣的:(.net)