Well, they aren’t a bad idea I think. Dictionary<K, V>
has a TryGetValue
method which is a very good example why out parameters are sometimes a very nice thing to have.
You should not overuse this feature of course, but it’s not a bad idea per definition. Especially not in C# where you have to write down the out
keyword in function declaration and call which makes it obvious what’s going on.