在.net中初始化对象?

时间:2009-10-05 15:23:00

标签: c#

public class Test 
{
    //Car c = null; // Is this better and is it good to set it to null.

    public void A()
    {
        Car c = new Car();
    }

    public void B()
    {
        Car c = new Car();
    }

    public void C()
    {
        Car c = new Car();
    }
}

1)我可以在顶部全局声明对象0并在每个方法中使用它而不是每次都创建一个新的(这是我实际上做的吗?)

2)最初将对象设置为null是个好主意吗?

3 个答案:

答案 0 :(得分:3)

FxCop声明你应该避免不必要的初始化代码,因为它会产生不必要的IL,这会影响性能。 (虽然我认为性能影响非常小)。 有时,我还明确初始化变量,只是为了让我的代码更清晰。

回答你的第一个问题:这都是你想要/想要做的事情......

答案 1 :(得分:0)

这是一个重复的问题,并且已多次询问过SO。答案是,“这是一种风格问题”。有些人更喜欢表示理解编译器将初始化为null这一事实的样式。其他人更喜欢一种风格,使得无需理解编译器将初始化为null。

答案 2 :(得分:0)

  

1)我可以在顶部全局声明对象0并在每个方法中使用它而不是每次都创建一个新的(这是我实际上做的吗?)

除了对象的无效名称(比较0O)之外,是的,你可以。 Redeclaring使用本地范围创建另一个变量,它不会修改该类的私有成员。

  

2)最初将对象设置为null是个好主意吗?

这是不必要的,因为这是在创建类的对象时自动完成的。