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
}
没有区别。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上阅读更多信息