Релевантные источники: - [Microsoft](https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/operators/lambda-operator) - [Metanit](https://metanit.com/sharp/tutorial/3.16.php) Оператор `=>` в C# называется оператором лямбда или стрелочным оператором. Он используется для определения лямбда-выражений и выражений-членов (expression-bodied members), Он предоставляет синтаксический сахар для создания анонимных функций, методов, свойств, индексаторов и других членов классов в сжатой форме. Этот оператор улучшает лаконичность и читаемость кода, позволяя выразить функциональность в более компактном и выразительном стиле. > Код, написанный после «=>», будет выполняться каждый раз при обращении к этому коду. Все возможные синтаксисы, в котором применяется токен => ``` member => expression; (input-parameters) => expression; (input-parameters) => { <sequence-of-statements> }; ``` ### Применение ##### Лямбда-выражения - [[Лямбда-выражение (lambda expression)|Что такое лямбда-выражение?]] ##### Выражения-методы Создание методов с однострочной реализацией без ключевого слова `return`. Сокращенный синтаксис ```csharp public int Subtract(int a, int b) => a - b; ``` Полный синтаксис ```csharp public int Subtract(int a, int b) { return a - b; } ``` ##### Выражения-свойства Определение свойств с геттерами Сокращенный синтаксис ```csharp public int Age => 30; ``` Полный синтаксис ```csharp public int Age { get { return 30; } } ``` ##### Выражения-конструкторы и финализаторы Использование для выполнения простых действий в конструкторах и деструкторах. ```csharp public Person(string name) => Name = name; ~Person() => Console.WriteLine("Finalizing"); ``` ##### Выражения-индексаторы Определение индексаторов для классов или структур. ```csharp public int this[int index] => myList[index]; ``` ##### Локальные функции Определение локальных функций внутри методов для конкретных задач. ```csharp public void ExampleMethod() { int Add(int x, int y) => x + y; } ```