В чем разница в реализации конструктора с помощью ключевого слова this? - PullRequest
0 голосов
/ 27 октября 2018

, пожалуйста, не могли бы вы объяснить, в чем разница между этими двумя реализациями конструкторов:

 public User(string a, string b)

    {

        name = a;

        location = b;

    }

и этот:

  public User(string a, string b)

    {

        this.name = a;

        this.location = b;

    }

С точки зрения компилятора я не вижу никакой разницы. Пожалуйста, объясните это.

1 Ответ

0 голосов
/ 27 октября 2018

Нет никакой разницы,

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)

Это ключевое слово относится к текущему экземплярукласса, а также используется в качестве модификатора первого параметра метода расширения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...