Are there any principles to keep in mind when using out parameters? Or can I look at them as just a good way to let a method return multiple values?
What did the language designers have in mind when they were specifying the out parameter?
Edit after some thought:
As i'm thinking about it now, I would be inclined to say that excessive use of out parameters could be indicitive of a code-smell. If a method needs to return instances of more than 1 specific type it implies that the method has more than 1 concern, which is a violation of SRP.