This will work.
Action<int> ff = (1 == 2)
? (Action<int>)((int n) => Console.WriteLine("nope {0}", n))
: (Action<int>)((int n) => Console.WriteLine("nun {0}", n)); 
There are two problems here
- Expression
 
- Ternary Operator 
 
1. Problem with Expression
The compiler is telling you exactly what's wrong - 'Type of conditional expression cannot be determined because there is no implicit conversion between 'lambda expression' and 'lambda expression'.
It means what you have written is lambda expression and the resultant variable is also lambda expression.
The lambda expression doesn't have any particular type - it's just convertible to the expression tree.
A member-access expression (which is what you're trying to do) is only available in the forms
primary-expression . identifier type-argument-list(opt)
predefined-type . identifier type-argument-list(opt)
qualified-alias-member . identifier type-argument-list(opt)
... and a lambda expression isn't a primary expression.
2. Problem with Ternary Operator
If we do 
bool? br = (1 == 2) ? true: null;
This results in error saying exactly like yours. 'Type of conditional expression cannot be determined because there is no implicit conversion between 'bool' and '<null>' 
But error is gone if we do this
bool? br = (1 == 2) ? (bool?)true: (bool?)null;
Casting of one side will also work
bool? br = (1 == 2) ? (bool?)true: null;
OR
bool? br = (1 == 2) ? true: (bool?)null;
For your case
Action<int> ff = (1 == 2)
? (Action<int>)((int n) => Console.WriteLine("nope {0}", n))
: ((int n) => Console.WriteLine("nun {0}", n)); 
OR
Action<int> ff = (1 == 2)
? ((int n) => Console.WriteLine("nope {0}", n))
: (Action<int>)((int n) => Console.WriteLine("nun {0}", n));