Lambda\Anonymous Function as a parameter

前端 未结 3 725
我在风中等你
我在风中等你 2021-01-04 05:44

I\'m a very new to C#. Just playing around with it. Not for a real purpose.

void makeOutput( int _param)
{
    Console.WriteLine( _param.ToString());
}

//..         


        
3条回答
  •  攒了一身酷
    2021-01-04 06:35

    Yes.
    It's called a delegate.

    Delegates are (more-or-less) normal types; you can pass them to functions just like any other type.

    void makeOutput(Func param) {
        Console.WriteLine(param());
    }
    
    makeOutput(delegate { return 4; });
    makeOutput(() => { return 4; });
    makeOutput(() => 4);
    

    Your edited question does not make sense.

    C# is type-safe.
    If the method doesn't want a function as a parameter, you cannot give it a method as a parameter.

提交回复
热议问题