有什么区别:
Object o = new Object();
o.foo();
Run Code Online (Sandbox Code Playgroud)
和
new Object().foo();
Run Code Online (Sandbox Code Playgroud)
(假设我之后不需要参考)?
是否有任何理由使用一个而不是另一个(例如内存使用)?
执行方面没有区别.
有可能在调试方面的差异:
foo()调用之前,它可以很方便地中断NullReferenceExceptionS IN特别是,如果有在同一语句中多次解引用的操作也可能会非常棘手).我绝对不是说你应该总是将所有内容分开 - 只是它可以用于调试目的.