一. 历史
从 Visual C# 3.0 开始引进的。
二. 基本概念
l Implicitly Type (隐式类型): 由编译器在编译时候根据初试值决定具体类型。是强类型的。
三. 使用限制:
1. 只能用于局部变量 ,如:方法内,属性范围内,using 语句内部。 不能用于类字段,方法返回值和形参。
class ThisWillNeverCompile
{
private var myInt = 10;// 错误! 不能用于字段
public var MyMethod(var x, var y){}// 错误! 不能应用返回值和形参。
}
2. 在var 声明变量语句中初始化该变量,单初始值不能为null, 也不能为 initialization expression 初始化表达式 。
var myData;// 错误!必须赋值。
var myInt; myInt = 0;// 错误!必须在声明是同时赋值。
var myObj = null;// 错误!初始值不能为 null 。
var i = (i = 20);// 错误!
3. 不能定义 nullable implicitly typed local variable 。
var? nope = new SportsCar();// 错误!
4. 多个变量不能在同一语句中同时定义
var s1 = 4.0, s2 = 5.0; // 错误!