Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1084 of 1492 menu
◀ ▶

Ключевое слово this

this передают в другие методы, возвращают из цепочных вызовов или используют, когда имя параметра совпадает с полем. В struct this можно применять только в методах экземпляра, не в статических. Для обращения к базе служит base.

Синтаксис

this.поле = значение; return this;

Пример

Давайте различим поле и параметр через this:

using System; class Cell { private string code; public Cell(string code) { this.code = code; } public string GetCode() { return this.code; } } class Program { static void Main() { var item = new Cell("abcde"); Console.WriteLine(item.GetCode()); } }

Результат выполнения кода:

"abcde"

Пример

Давайте вернём this для цепочки вызовов:

using System; class Builder { private string text = ""; public Builder Append(string part) { text += part; return this; } public string Build() { return text; } } class Program { static void Main() { var res = new Builder() .Append("123") .Append("45") .Build(); Console.WriteLine(res); } }

Результат выполнения кода:

"12345"

Пример

Давайте передать текущий объект в метод:

using System; class Node { public string Tag = "a"; public void PrintPair(Node other) { Console.WriteLine(this.Tag + other.Tag); } } class Program { static void Main() { var left = new Node { Tag = "1" }; var right = new Node { Tag = "2" }; left.PrintPair(right); } }

Результат выполнения кода:

12

Смотрите также

  • base,
    которое обращается к членам базового класса
  • readonly,
    который ограничивает запись через this в struct
  • static,
    который не использует this в методе
  • new,
    который создаёт экземпляр для this
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить