c# - 使用内联对象方法调用与声明新变量

标签 c# java oop

我使用 Java 和 C# 已经有一段时间了,我已经问过自己很多次了,但一直没有找到我想要的答案。

当我必须调用一个对象方法时(这意味着它不是静态的),我必须通过类的实例调用,例如:

MyClass myInstance = new MyClass();
myInstance.nonStaticMethod();

我到处都看到这种代码,所以我在想单行调用(下面的示例)是否在性能方面表现不同,或者这只是标准的缘故?

这就是我所说的单线电话:

new MyClass().nonStaticMethod();

最佳答案

性能可能是一样的。

但是,调用诸如 new MyClass().nonStaticMethod(); 之类的代码通常会散发出代码的味道 - 对象封装了什么状态,您只需要在其上调用一个方法? (即为什么那不是静态方法?)

编辑:我并不是说它总是不好的——在某些情况下,鼓励使用这样的习语(比如在 fluent builder 对象的情况下)——但你会注意到在这些在某些情况下,生成的对象在某种程度上仍然很重要。

关于c# - 使用内联对象方法调用与声明新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19736067/

相关文章:

java - StringSpacer 方法中出现空指针异常错误

java - Appletviewer 抛出 java.lang.NoClassDefFoundError 异常

php - 有没有办法在 php 中定义全局或标准函数,可以从任何地方调用而不包含文件

java - 为什么不能从子类访问 protected 方法?

c# - 将 xml 字符串反序列化为一个对象,我得到缺少列表元素的空列表。为什么不返回null?

c# - 根据表格记录更改标签文本

c# - 使用参数和只放置一个变量然后转换它有什么区别

c# - 取消异步网络请求?

java - IntelliJ 中的同一个文件夹中是否可以有多个 src 文件夹?

javascript - 基于原型(prototype)与基于类的继承