Optional Output Parameters [duplicate]
Not really, though you can always overload the method with another one that does not take the output parameter.
No.
To make it "optional", in the sense that you don't need to assign a value in the method, you can use ref
.