var关键字---根据初始化语句推断变量类型
功能:
var关键字指示编译器根据初始化语句右侧的表达式推断变量的类型,推断类型可以是内置类型,匿名类型,用户定义类型,.NET Framework类库中定义的类型或任何表达式.
示例:
下面用示例演示使用关键字var声明局部变量的各种方式:
var i = 5; var s = "Hello"; var arr = new[] { 0, 1, 2 }; var anon = new { Name = "Terry", Age = 34 }; var list = new List<Type>();
var在for初始化语句中的应用:
for (var x = 1; x < 10; x++) { Console.WriteLine(x); }
var在foreach初始化语句中的应用:
foreach (var aa in a) { Console.WriteLine(aa); }
var在using语句中的应用:
using (var file = new StreamReader("d:\\Myfile.txt")){}
var关键字创建隐式类型的数组:
var a = new[] { new[]{1,2,3,4}, new []{5,6,7,8,9} }; var b = new[] { "hello", "c#", "world" };
var关键字的使用需要遵循一定的规则:
- 变量必须初始化,否则编译报错。
- 初始化值不能为空。
- 初始化必须在声明表达式中。
- 声明类型后,推断出了类型,就不能改变变量类型,且声明的变量遵循确定的变量类型的规则。