C#中变量类型和对象类型之间的差异
本文关键字:类型 之间 变量 对象 | 更新日期: 2023-09-27 18:25:42
有人能简要解释一下下面两个语句之间的区别吗?以及我什么时候应该使用其中一个而不是另一个?
例如,我有一个Person类,并且希望在另一个类中实例化Person类
Person person = new Person();
var person = new Person();
两者都编译为相同的MSIL代码。唯一的区别是在编写源代码时可能会给您带来方便——如果您决定稍后更改p
的类型,则只需在构造函数调用中替换Person
一次,并且在使用var
时可以保持变量声明不变。
也就是说,var
的易读性略有下降,因为你在行首再也看不到p
的类型了。因此,将var
的使用限制在它确实节省了一些类型的情况下,例如对于复杂的嵌套泛型类型。
请注意,如果您不立即初始化变量(在声明变量的同一语句中),则不能使用var
,因为编译器无法推断变量的类型。
没有区别,它只是语法糖:
…隐式类型的局部变量是强类型的,就像你自己声明了类型一样,但编译器确定了类型…
http://msdn.microsoft.com/library/bb383973.aspx
请参考此文档
第一个是显式声明,而第二个是隐式声明(编译器将决定对象)。否则,它们是等效的。
这里没有区别。CCD_ 8在编译期间被翻译成CCD_。我通常使用var
来加快代码的重构,我的意思是,如果你决定更改p
的类型,你可以简单地更改右侧,让var
。