Java/C#中对同一对象调用多个方法的编码标准

本文关键字:方法 标准 编码 调用 对象 Java | 更新日期: 2023-09-27 18:00:50

此代码是否可以摘录

StringBuilder builder = new StringBuilder();
builder.Append("Have a ");
builder.Append("nice day!");

这样写会更好吗?

  StringBuilder builder = new StringBuilder();
  builder.Append("Have a ")
         .Append("nice day!");

在C#和Java中,有什么更好的编写方法呢?

Java/C#中对同一对象调用多个方法的编码标准

第二个示例中的模式是"fluent API"/"fluent接口";坦率地说,严格意义上来说,两者都不是更好的-但如果第二种语法存在,不使用它可能会有点效率低下。在.NET IL术语中,第一种语法在每次迭代中都涉及额外的ldlocpop,而第二种则避免了这一点-但这很少有太大意义。两者都可以。

就我个人而言,我会优化可读性和便利性,除非您知道它处于性能关键位置。

事实上,你可以使用:

string s = "Have a " + "nice day!";

编译器(至少在C#中——我不知道java(将在编译时计算(因为它们都是常数(,并编译为单个ldstr(它也会自动插入(。