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