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          
        }     
    }
}
posted @ 2009-10-14 12:00  Jason.z  阅读(1040)  评论(0)    收藏  举报