注册 登录
编程论坛 C# 论坛

新手求大神帮忙解释一下这段代码的书写形式

dsa792303803 发布于 2017-04-20 21:29, 1830 次点击
class MyClass
{
    public int Val=20;
}
Class Progarm
{
    static void MyMethod(MyClass f1,int f2)
       {
            f1.Val=f1.Val+5;
             f2=f2+5;
        }
}
MyClass f1 此时的值是多少? MyClass不是一个类名吗? f1前面不是要加一个类型名吗?
f1.Val是什么意思?
1 回复
#2
yhlvht2017-04-21 20:16
f1的值是25
MyClass是类名,MyClass作为方法MyMethod的参数类型传入,参数名是f1,也就是说f1是一个MyClass类型的值(准确的说是引用,可以理解为MyClass类型的指针),同样f2是作为整型int的值变量传入的。
f1是MyClass的引用,那f1.Val当然就表示MyClass类里面的Val变量。
由于f1是引用,所以作为形参改变了值以后,实际的值也是改变了的
1