C# 3.0 / C# 3.5 隐式(推断)类型 var

时间:2023-03-10 05:39:42
C# 3.0 / C# 3.5 隐式(推断)类型 var

概述

  你可能对隐式类型(或隐式推断类型)这个名称比较陌生,但是 var 这个关键字应该很熟悉。

  在 C# 中使用 var 声明一个对象时编译器会自动根据赋值语句推断这个局部变量的类型。

  赋值以后,这个变量的类型也就已经确定并且不可以进行更改

  另外,var 关键字也可用于匿名类的声明。

  应用场景:var 主要用于表示一个 LINQ 查询的结果。这个结果既可能是 ObjectQuery<> 或 IQueryable<> 类型的对象,也可能是一个简单的实体类型的对象或者是一个基本类型对象,

这时使用 var 声明这个对象可以节省很多代码书写上的时间。

var 隐式类型的限制:

  被声明的变量必须是一个局部变量,而不是静态或实例字段。

  变量必须在声明的同时被初始化,因为编译器要根据初始化值推断类型。

  初始化表达式不能是 null。

  语句中只声明一次变量,声明后不能更改类型。

  赋值的数据类型必须是可以在编译时确定的类型。(换句话说好像是不能是映射之类的在运行时确定类型的)