Первый набор элементов использует более новый синтаксис, называемый Expression-Bodied Members, который позволяет вам писать выражения в кратком формате.Их НЕ следует путать с лямбда-выражениями, несмотря на использование аналогичного синтаксиса (спасибо gunr2171)!
public string Name
{
get => name; // exactly the same as "get { return name; }"
set => name = value; // exactly the same as "set { name = value; }"
}
Второй набор элементов - это классические «получатели» и «установщики», встречающиеся в большинстве объектно-ориентированных языков.
Ключевое слово "this" является чем-то особенным для объектов.Вы можете использовать ключевое слово «this» для доступа к своим свойствам, методам и другим элементам вашего экземпляра объекта, хотя ваш IDE / компилятор выведет их автоматически, поэтому вам не нужно писать
this.Name
и может вместо этого написать
Имя
, которые логически эквивалентны.Единственное время, когда вы не можете использовать ключевое слово «this», - это доступ к статическим свойствам и методам класса, которые принадлежат классу, а не самому объекту.
Два приведенных выше примера логически эквивалентны, просто написаны по-разному.Важно понимать лямбда-выражения, но я думаю, что в этом случае Microsoft просто показывает вам, что возможно, и шаблон 'getter' и 'setter' НАМНОГО более распространен в моем опыте (и ваша команда, вероятно, будет благодарна вам за использование этого синтаксиса какхорошо!)