为什么在VS2010创建项目时选择net framework2.0的环境还可以使用var关键字?
来源:互联网 发布:2016年网络词汇 编辑:程序博客网 时间:2024/06/09 11:02
var关键字是C# 3.0开始新增的特性,称为推断类型。
var可代替任何类型,编译器会根据上下文来判断你到底是想用什么类型,类似 object,但是效率比object高点。
var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。
var定义变量有以下四个特点:
1.必须在定义时初始化
例如:
<span style="white-space:pre"></span>var a =1 ; // IDE或编译器会根据你给a 的值1来"推论断定"a是一个整数类型 <span style="white-space:pre"></span>var b ="123"; // b被推论断定为string类型
2.一旦初始化完成,就不能再给变量赋与初始值不同的值了
3.var要求是局部变量
4.使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样
*****************************************************************************************************************
那么问题来了:为什么在VS2010创建项目时选择net framework2.0的环境还可以使用var关键字?
C# 代码属于托管代码,托管代码会被编译器编译成IL代码,真正运行时其实是IL代码!你设置的目标平台版本只可以保证你的IL代码可以正常的运行,但是并不能检查你的C# 代码是否完全符合C#2.0的规范,因为编译时使用的还是C#4.0编译器。var这个关键字只是语法上的新特性,编译完的IL代码和过去没有区别,这样的特性俗称“语法糖”,只是语法上用起来比较甜蜜,而实际上没有什么区别!所以即使你的代码中有var,那还是可以运行在旧版本的.NET Framework上!
当然,如果你使用的的新特性是本质上的改变,那就无法通过编译了!
- 为什么在VS2010创建项目时选择net framework2.0的环境还可以使用var关键字?
- VS2010制作安装包时没有.net framework2.0选项的解决办法
- 关于 vs2010无法使用framework2.0
- 在Framework2.0环境下运行3.5的代码
- 创建play framework2项目的方法
- Anaconda还可以在python3.5的基础上创建一个新的独立的python2.7的环境
- .NET FrameworK2.0所有的HTML类
- [zt]在smartphone2003中使用net compact framework2
- 还在使用vc6.0吗??vs2010吧
- jquery在选择元素的时候,可以写成var div=$("div")
- .NET 中的var关键字
- VS2010旗舰版 Framework4 Framework3.5 Framework3.0 Framework2.0 目标Framework选择
- .net Framework2.0运行在win7下问题
- C# var 的关键字的使用
- vs2010创建一个新的类时,在左下角显示“正在创建项目…创建项目失败”解决方法
- 如果你在VS2010下使用.net 4.0开发具有混合模式程序集的项目
- C#中的var关键字的使用
- 为什么JavaScript声明变量的时候鼓励加var关键字
- error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.
- B-和B+树
- 第十一周项目0 是凌歌阿
- 清除缓存,数据库,sharedPreference和files
- PostgreSql索引的使用3--多字段索引
- 为什么在VS2010创建项目时选择net framework2.0的环境还可以使用var关键字?
- USB HID介绍
- 角色控制器 Character Controller
- Android编程之SparseArray<E>详解
- binder 通信
- bumblebee2 ros 下配置CMakList
- linux shell (点号 空格 文件名)
- 在Eclipse中使用TODO来记录待办任务
- Nginx.conf 中的location 详解