将匿名表达式写成lambda表达式

4
如何在Lambda表达式中编写与“匿名表达式”相同的内容。
namespace AnonymouseAndLambdaExpression
{
    // Delegate
    public delegate bool NumberHandler(int number);

    class Program
    {
        static void Main(string[] args)
        {
            //..
            NumberHandler _NumberHandler = delegate (int Number) { return Number == 100; };

            bool result = _NumberHandler(100);
            Console.WriteLine("Result : {0}" , result);
        }
    }
}

希望能得到帮助。


4
你看过文档了吗? - SLaks
@SLaks 是的,我做到了...在处理列表等时,我阅读了很多关于Lambda表达式的内容...但这个是新的东西... - Rehan Shah
ReSharper来拯救了。 - Uwe Keim
1个回答

3
因为NumberHandler接受类型为int一个参数并且返回一个bool,所以它只需这样:
NumberHandler _numberHandler = (int number) => number == 100;

或者:

NumberHandler _numberHandler = number => number == 100;

此外,我建议避免重新发明轮子,而是使用Predicate<int>

Predicate<int> _numberHandler = number => number == 100;

我强烈建议您阅读C#编程指南:Lambda表达式,该内容与编程有关。


非常感谢您,@Aomine。 - Rehan Shah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接