Поделиться через


Оператор => (Справочник по C#)

Обновлен: Ноябрь 2007

Маркер => называется лямбда-оператором. Он используется в лямбда-выражениях для отделения входных переменных с левой стороны от тела лямбда-выражения с правой стороны. Лямбда-выражения — это встроенные выражения, аналогичные анонимным методам, но более гибкие. Они широко используются в запросах LINQ, выраженных с использованием синтаксиса методов. Дополнительные сведения см. в разделе Лямбда-выражения (Руководство по программированию в C#).

  string[] words = { "cherry", "apple", "blueberry" };
  int shortestWord = words.Min(w => w.Length);

Заметки

Оператор => читается как "переходит". Выражение из предыдущего примера читается как "Min. w переходит в w точка Length".

Оператор => имеет тот же приоритет, что и оператор присваивания (=) и является правоассоциативным.

Можно явно задать тип входной переменной или дать возможность компьютеру задать его. В любом случае, тип переменной строго определен во время компиляции. При определении типа необходимо указать имя типа и имя переменной в скобках, как показано в приведенном ниже примере:

int shortestWord = words.Min((string w) => w.Length);

При определении нескольких входных переменных они заключаются в скобки (см. приведенный ниже пример).

Пример

В следующем примере показано лямбда-выражение с двумя входными переменными для стандартного оператора запроса Enumerable.Where. Это выражение возвращает все строки, длина которых меньше их позиции индекса в массиве.

  string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
  var shortDigits = digits.Where((digit, index) => digit.Length < index);

См. также

Основные понятия

Руководство по программированию в C#

Ссылки

Лямбда-выражения (Руководство по программированию в C#)

Другие ресурсы

Справочник по C#