class Program
{
static void Main(string[] args)
{
int i=10;
Class1.Add(i);
Console.WriteLine(i);
Class1.Add(ref i);
Console.WriteLine(i);
Class1.Add(ref i);
Console.WriteLine(i);
double a = 2.0, b = 9.0;
Console.WriteLine(Class1.Muti(ref a,ref b));
Console.WriteLine(Class1.Muti(ref a, ref b));
}
}
class Class1
{
public static int Add(int i)
{
return i++;
}
public static int Add(ref int i)
{
return i++;
}
public static double Muti(ref double x,ref double y)
{
return x ++ * y++;
}
这是自己写的练习程序,运行结果是10 11 12 18 30.不明白函数值传导形参,用return语句也不返回++自增.另外Add(ref int i)的值,第一次运行就返回i++自增的值,而Muti(ref x,ref y)第一次却没有自增,第二次才自增.
希望高手解惑.