using System;public class class1
{
public static void Main()
{
object y = 22;
Add1(y);
Console.WriteLine(y);
} public static void Add1(object o)
{
o = 1;
}
}
--------------------------------
请问输出是多少呀?为什么?
{
public static void Main()
{
object y = 22;
Add1(y);
Console.WriteLine(y);
} public static void Add1(object o)
{
o = 1;
}
}
--------------------------------
请问输出是多少呀?为什么?
{
//这里实际上已经隐式转换成int了,在监视窗口中查看y的类型是 object {int}
object y = 22;
Add1(y);//所以这里传得是值
Console.WriteLine(y);
}
public static void Add1(object o)
{
o = 1;
}
所以我的看法是,在Add1()函数中的改变,就等于对y进行了改变.输出应该是1呀?
{
public int x;
} public static void Main(string[] args)
{
X x = new X();
x.x = 22; object y = x; //因为x是class类型
Add1(y);//这里传址
Console.WriteLine(x.x);//输出 1
}
public static void Add1(object o)
{
((X)o).x = 1;
}