为什么var在C#中没有大写字母(Var)?

时间:2013-09-16 15:10:25

标签: c# .net

我想知道可能看起来很愚蠢的东西,但C#有一个大写字母的每个类型的定义:

int -> Int32 , double -> Double , string -> String , etc..

为什么var没有像其他.Net组件一样定义 Var

提前致谢。

2 个答案:

答案 0 :(得分:4)

var是一个没有可映射的Primitive类型的关键字。 intdouble等都是具有原始映射的关键字。

来自msdn:

int i = 123;
  

当整数文字没有后缀时,其类型是第一个   可以表示其值的类型:int,uint,long,ulong。   在此示例中,它的类型为int。

http://msdn.microsoft.com/en-us/library/vstudio/5kzh1b5w.aspx

var很特殊,因为它所代表的实际类型是推断的类型。

  

从Visual C#3.0开始,在方法中声明的变量   scope可以有一个隐式类型var。隐式键入的本地   变量是强类型的,就像你声明了类型一样   你自己,但编译器确定了类型。以下两个   i的声明在功能上等同......

var i = 10; // implicitly typed
int i = 10; //explicitly typed

http://msdn.microsoft.com/en-us/library/bb383973.aspx

答案 1 :(得分:3)

intdoublestringvar都是keywords,关键字未大写,但是System.Int32,{{1} },System.Double是所有类型和Types are capitalized