For quick tasks where I only use an instantiated object once, I am aware that I can do the following:

```
int FooBarResult = (new Foo()).Bar();

```

I say this is perfectly acceptable with non-disposable objects and more readable than the alternative:

```
Foo MyOnceUsedFoo = new Foo();
int FooBarResult = MyOnceUsedFoo.Bar();

```

Which do you use, and why?  

Would you ever use this type of anonymous instantiation in a production app?  

Preference: with parenthesis "(new Foo()).Bar();" or without "new Foo().Bar();"?

(Edited to abstract question away from Random class)