考虑到下面的设置和代码片段,你能想出什么理由使用其中一个而不是另一个呢?我有几个论点使用他们中的任何一个,但我很好奇其他人是怎么想的。
设置
public class Foo
{
public void Bar()
{
}
}代码片段一
var foo = new Foo();
foo.Bar();代码段二
new Foo().Bar();发布于 2009-07-03 21:55:12
第一个版本意味着您可以在调用Bar()之前更容易地在调试器中检查foo。
第一个版本还意味着您将一个名称与对象相关联(当然,它实际上是变量的名称,但显然有一种心理关联),这有时会很有用:
var customersWithBadDebt = (some big long expression)
customersWithBadDebt.HitWithBaseballBat();比这更清楚
(some big long expression).HitWithBaseballBat();如果这两个原因都不适用,那么当然可以选择单行版本。它是个人的品味,然后应用于每个特定的上下文。
发布于 2009-07-03 21:51:50
如果您不打算使用Foo实例进行简单的调用,我可能会使用第二个实例,但我看不出有什么实际的区别,除非调用非常频繁(但我不太可能使用该构造)。
发布于 2009-07-03 21:54:23
我更倾向于第二种方法,因为它很清楚地表明我根本不需要对象引用。
https://stackoverflow.com/questions/1080960
复制相似问题