我对C#中的对象声明有疑问。我用这个例子解释我可以做到这一点:
MyObject obj = New MyObject();
int a = obj.getInt();
或者我可以做到这一点
int a = new MyObject().getInt();
结果是相同的,但是,这些声明之间是否存在任何区别?(没有语法)
谢谢。
这不是声明:它是类实例化。
没有实际的区别:全部都是关于可读性和您自己的编码风格的。
我要补充一点,在少数情况下,您需要声明对某个对象的引用:当这些对象为时IDisposable
。
例如:
// WRONG! Underlying stream may still be locked after reading to the end....
new StreamReader(...).ReadToEnd();
// OK! Store the whole instance in a reference so you can dispose it when you
// don't need it anymore.
using(StreamReader r = new StreamReader(...))
{
} // This will call r.Dispose() automatically
正如一些评论所补充的,在很多情况下,实例化一个类并将对象存储在引用(变量)中会更好/最优,但是对于您的简单示例,我相信差异还不够,并且仍然是编码风格/可读性的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句