c# – 任何理由不使用`new object().foo()`?

前端之家收集整理的这篇文章主要介绍了c# – 任何理由不使用`new object().foo()`?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当使用非常短暂的对象,我只需要调用一个方法,我倾向于将方法调用链接到新的.一个很常见的例子就是如下:
string noNewlines = new Regex("\\n+").Replace(" ",oldString);

这里的一点是,我完成了一次替换后,我不需要Regex对象,我喜欢能够将其表示为一个单行.这个成语有什么不明显的问题吗?我的一些同事对此表示不满,但没有任何似乎是一个很好的理由.

(我已经将它标记为C#和Java,因为上述成语是常见的,可用于两种语言.)

解决方法

这个特殊的模式很好 – 我偶尔使用它.

但是我不会像你的例子那样使用这种模式.有两种替代方法更好.

更好的方法:使用静态方法Regex.Replace(string,string,string).当有可用的静态方法执行相同的事情时,没有理由用新式语法模糊你的意思.

最佳方法:如果您使用相同的方法使用相同的静态(不是动态生成的)正则表达式,并且您很多地调用方法,则应将Regex对象作为私有静态字段存储在包含该方法的类中,因为这避免了在每次调用方法时解析表达式.

原文链接:https://www.f2er.com/csharp/95804.html

猜你在找的C#相关文章