c#2.0类和对象学习系列之输出参数

来源:互联网 发布:7723java 编辑:程序博客网 时间:2024/06/08 14:14

C# 允许方法通过两种不同的途径返回信息

1.直接使用方法的返回值。有一个问题就是最多只有一个返回值。方法体中使用return关键字来返回返回值

2.c#允许用方法的一个或多个参数来返回值。这种情况下,参数在方法的签名中以及方法调用中时都需要使用out关键字来标记。此外,实参不需要初始化。方法必须初始化这些形参。在显示初始化这些形参之前,是不能使用他们的。

 

public class Artical 
    {
        
public int Price = 0;
    }
    
class Program
    {
        
static void Main(string[] args)
        {
            
int i;                // 没有初始化
            Artical articalA;     //没有初始化
            Artical articalB = new Artical();  //articalB引用了一个对象
            articalB.Price = 100;

            fct(
out i , out articalA, out articalB);
            
//这里articalB引用了在fct中创建的对象
            Console.WriteLine(i);               //输出“10”
            Console.WriteLine(articalA.Price);  //输出“10”
            Console.WriteLine(articalB.Price);  //输出“10”

        }

        
static void fct(out int i , out Artical a , out Artical b)
        {
            
//实参不需要初始化,方法必须初始化这些形参
            i = 10;
            a 
= new Artical();
            b 
= new Artical();
            a.Price 
= i;
            b.Price 
= i;
        }
    }