what is func c#
C# 3.0 includes built-in generic delegate types Func and Action, so that you don't need to define custom delegates as above. Func is a generic delegate included in the System namespace. It has zero or more input parameters and one out parameter. The last parameter is considered as an out parameter. For example, a Func delegate that takes one input parameter and one out parameter is defined in the System namespace as below: Func in C#: namespace System { public delegate TResult Func< in T, out TResult>(T arg); } The last parameter in the angle brackets > is considered as the return type and remaining parameters are considered as input parameter types as shown in the following figure.