delegate int Add();
class Program
{
static void Main(string[] args)
{
MyClass myclass=new MyClass ();
Add add = myclass.add1;
int result1 = add();//此处添加用以个result1来接收调用委托的返回值
add += myclass.add2;
add += myclass.add1;
Console.WriteLine("最后value的值:{0}", myclass.value);//为什么加了result1后value的值就会改变呢?而不加result1时Value值就不会改变,我觉得value是值类型加不加都不应该改变啊
Console.WriteLine("第一次返回的值:{0}", result1);
Console.WriteLine("最后的结果:{0}", add());
Console.ReadKey();
}
}
class MyClass
{
public int value = 5;
public int add2()
{
value += 3;
return value;
}
public int add1()
{
value += 2;
return value;
}
}
不明白为什么加了result1后value的值就会改变呢?而不加result1时Value值就不会改变,我觉得value是值类型加不加都不应该改变啊 ,请求高手指点一二
隔江千里