C#中this关键字的用法

其作用引用类的当前实例,其实看了下面这个例子就好理解了。

this不能用于静态方法中,比如Main~

主要三个作用:当前实例、参数传递和索引器


1.1 当前实例
class Team
{
        ///成员变量
        private string name;
        ///构造函数
        public Team(string name)
        {
                this.name = name;
        }
}
在这里因为是要将参数的name值传入Team类或者说对象的name成员变量中。
在这里通过使用this可以表明name的对象是当前的实例,也就是Team对象,而不是参数name。


1.2 参数传递
另外还有一个作用就是可以做为'指针'来使用,可以将当前对象元素按照引用参数方式传递。
例如:
 class A
    {
        public string name = "liangzhen";
        public A()
        {
        }
    }
    class B
    {
        private A a;
        public  B(A a)
        {
            this.a = a;
        }
        public void Change()
        {
            this.a.name = "kathy";
        }
    }
    class Demo
    {
        static void Main()
        {
            A a = new A();
            B b = new B(a);
            b.Change();
            Console.WriteLine(a.name);
            Console.ReadLine();
        }
    }
这里完成的是一个引用参数传递,在这里如果B对象中执行Change方法后,B和A所对于得实例中的name都将改变为"kathy".


1.3 索引器

public object this [int param]
{
        get { return array[param];   }
        set { array[param] = value; }
}

posted @ 2012-06-11 08:28  MXi4oyu  阅读(196)  评论(0编辑  收藏  举报