我有一个对象动物:
class Animal{
}
我想创建一个Animal的对象,类main上的行之间有区别吗?
class main{
var myVar = new Animal(); // case 1
Animal myAnimal = new Animal(); // case 2
}
答案 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。