OOP问题,实例化一个对象

时间:2014-07-10 08:50:27

标签: c# oop

我有一个对象动物:

class Animal{

}

我想创建一个Animal的对象,类main上的行之间有区别吗?

class main{
     var myVar = new Animal();        // case 1
     Animal myAnimal = new Animal();  // case 2
}

1 个答案:

答案 0 :(得分:0)

没有区别。 MSDN var description说:

  

隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定了类型。

换句话说,在编译器的帮助下,它只是一种编写相同代码的有用方法。当您创建长类型时,它非常有用:

var dict = new Dictionary<string, List<int>>();

而不是:

Dictionary<string, List<int>> dict = new Dictionary<string, List<int>>();

但是与LINQ和匿名类型同时添加以进行LINQ查询:

var outpus = someList.Where(x => x.SomeData == 0)
                     .Select(new 
                     {
                         FieldA = x.SomeField
                     });

所以这里编译器确定匿名类型,你不必指定它。

您可以详细了解on MSDN