Что означает () =› в C#?

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

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

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

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

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

person Edward Tanguay    schedule 10.03.2009    source источник
comment
Так что это правда. C# превращается в Perl!   -  person rjh    schedule 10.03.2009


Ответы (3)


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

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

person Ward Werbrouck    schedule 10.03.2009

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

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

() => 3;

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

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

Приведет к пустому методу без параметров.

person Mendelt    schedule 10.03.2009

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

person Alex Fort    schedule 10.03.2009