Что означает "() =>" в C #? - PullRequest
16 голосов
/ 10 марта 2009

Наткнулся на следующую строку в Руководстве по составным приложениям.

Я знаю, что => - лямбда, но что означает () ?

Каковы другие примеры этого?

Как он называется, чтобы я мог его найти?

this.regionViewRegistry.RegisterViewWithRegion(RegionNames.SelectionRegion
        , () => this.container.Resolve<EmployeesListPresenter>().View);

Ответы [ 3 ]

22 голосов
/ 10 марта 2009

Это лямбда-выражение, которое принимает 0 аргументов

http://msdn.microsoft.com/en-us/library/bb397687.aspx

17 голосов
/ 10 марта 2009

Если вы посмотрите на x => x + 1

Он принимает параметр x и возвращает значение x, увеличенное на единицу. Компилятор будет использовать вывод типа, чтобы вывести, что x, вероятно, имеет тип int, и вернет другое значение int, поэтому у вас есть лямбда, которая принимает параметр x типа int и возвращает целое число.

() => 3;

то же самое, но не принимает параметр, он вернет целое число.

() => Console.WriteLine("hello");

Результатом будет метод void без параметров.

10 голосов
/ 10 марта 2009

Это пустой список аргументов, то есть лямбда-выражение не принимает аргументов.

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