Основное отличие Action и Func заключается в возвращаемом значении:
Action: Делегат, который принимает от 0 до 16 параметров, но не возвращает никакого значения (возвращает void).Func: Делегат, который принимает от 0 до 16 входных параметров и возвращает значение указанного типа. Тип возвращаемого значения указывается в последнем параметре <TResult>.Примеры:
csharp
csharp