在使用C#的过程中,发现this关键是比较少用的,但是在下面这三个场合下是必须要使用的,不使用它是解决不了问题。

第一种场合就是当类成员变量的名称与函数的参数名称一样

比如下面这种情况:

public class Employee
{
    private string alias;
    private string name;

    public Employee(string name, string alias)
    {
        // Use this to qualify the members of the class
        // instead of the constructor parameters.
        this.name = name;
        this.alias = alias;
    }
}

这里可以看到类成员变量的名称为alias,而构造函数的名称也是alias,编译器要区分到底是那一个名称,就需要类里的成员变量增加一个this指针,这个指针就可以指明引用的名称是来自于类,而不是函数的参数,从而达到区分的目的。很多情况之下,可以在函数里写成员不一样的名称,就不用这样来处理了。

第二种场合就是将当前的对象当作参数传送给别的函数。

CalcTax(this);


调函数CalcTax是一个类函数内,那么要本身传送给别人,只能使用this引用了,只有它是用来标记自己的变量。

class Employee
{
    private string name;
    private string alias;
    private
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。