var类型是C#3.0版本中引入的一个新的用法,在之前的版本中没有。事实上,var仅仅是一个关键字,冻是一个新的数据类型,可以用var声明任何类型的局部变量,它只是负责告诉编译器,该变量需要根据初始化表达式来推断变量类型,并且只能是局部变量。语法如下:
var 变量名称=变量值;
下面的声明都是正确的:
var age=12;
var name="李四";var flag=true;上面的声明等同于下面的变量声明:
int age=12:
var name="张三";bool flag=true;使用var声明变量必须遵循以下规范:
在声明时必须同时赋值,因为声明依赖于赋值号右边的表达式。下面的语句编译时会出错。
var age;age=12;使用var声明一个变量后,不能给此变量赋予另一种数据类型的值。下面的语句编译会出错。
var integer=10;integer="李四";使用var声明的变量,初始化不能为空,下面的语句不符合规范,会出现编译错误。
var name=null;var声明仅限于局部变量。
看下面的实例:
using System;
class Program{ public static void Main(){ string strname="范跑跑";bool flag=true;int integer=20;var bookname="雪山飞狐";var age=12;Console.WriteLine("你的名字="+strname);Console.WriteLine("布尔值="+flag);Console.WriteLine("你的年龄整型值="+integer);Console.WriteLine("var字符串值="+bookname);Console.WriteLine("var整型值="+age);Console.ReadLine();}}