使用关键字this在构造函数的实现上有什么区别?

时间:2018-10-27 08:47:15

标签: c# constructor reference

请您解释一下这两个构造函数实现之间的区别:

 public User(string a, string b)

    {

        name = a;

        location = b;

    }

和这个:

  public User(string a, string b)

    {

        this.name = a;

        this.location = b;

    }

从编译器的角度看,我看不出任何区别。请解释一下。

1 个答案:

答案 0 :(得分:3)

没有区别,

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;
    }
}

其他资源

this (C# Reference)

  

this关键字引用该类的当前实例,并且是   也用作扩展方法第一个参数的修饰符