C#学习笔记:让函数有多个返回值


看到这个题目,我们可能会有点迟疑,理论上讲一个函数只有一个返回值,是的,确实是这样,但我们同样也有方法可以实现这个效果:
使用ref关键字:
// Example1
using  System;

namespace  Program
{
    
class  Test
    {
        
static   void  Main()
        {
            Test ts 
=   new  Test();
            
            
int  i = 0 ; // 必须有初始化

              
int  sum  =  ts.Fun( ref  i,  10 );

            Console.WriteLine(i);
// 输出10

            Console.WriteLine(sum);
// 输出20

            Console.ReadKey();
         
        }

        
public   int  Fun( ref   int  i,  int  j)
        {
            i 
=  j;

            
return  i  +  j;
        }      
    }
}


使用out关键字同样也可以打到这种效果,示例代码如下:
// Example2
using  System;

namespace  Program
{
    
class  Test
    {
        
static   void  Main()
        {
            Test ts 
=   new  Test();
            
            
int  i = 0 ; // 必须有初始化

              
object  obj; // 可以不用初始化

              ts.Fun(
ref  i,  out  obj);

            Console.WriteLine(i);
// 输出5

            Console.WriteLine(obj);
// 输出5

            Console.ReadKey();          
        }

        
public    void  Fun( ref   int  i,  out   object  obj)
        {
            i 
+=   5 ;

            obj 
=  i.ToString();

            Console.WriteLine(i);
// 输出5

            Console.WriteLine(obj);
// 输出5          
        }     
    }
}

转载于:https://www.cnblogs.com/Jason_z/archive/2009/10/14/1583109.html

你可能感兴趣的:(C#学习笔记:让函数有多个返回值)