我使用 Java 和 C# 已经有一段时间了,我已经问过自己很多次了,但一直没有找到我想要的答案。
当我必须调用一个对象方法时(这意味着它不是静态的),我必须通过类的实例调用,例如:
MyClass myInstance = new MyClass();
myInstance.nonStaticMethod();
我到处都看到这种代码,所以我在想单行调用(下面的示例)是否在性能方面表现不同,或者这只是标准的缘故?
这就是我所说的单线电话:
new MyClass().nonStaticMethod();
最佳答案
性能可能是一样的。
但是,调用诸如 new MyClass().nonStaticMethod();
之类的代码通常会散发出代码的味道 - 对象封装了什么状态,您只需要在其上调用一个方法? (即为什么那不是静态方法?)
编辑:我并不是说它总是不好的——在某些情况下,鼓励使用这样的习语(比如在 fluent builder 对象的情况下)——但你会注意到在这些在某些情况下,生成的对象在某种程度上仍然很重要。
关于c# - 使用内联对象方法调用与声明新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19736067/