OOP问题,实例化对象

本文关键字:对象 实例化 问题 OOP | 更新日期: 2023-09-27 18:12:28

我有一个对象animal:

class Animal{
}

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

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

OOP问题,实例化对象

没有区别。MSDN变量描述说:

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

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

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
                     });

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

你可以在MSDN上阅读更多信息