C#中的var和dynamic——极速C_Sharp免费入门

191 阅读2分钟

我和往常一样,一边喝早茶,一边上网和女粉丝侃大山,在手机和平板电脑上整理修改 《C++》 、 《C语言》 、 《Java》 等多年前写的教程,并研究学习各种品牌的小程序。

突然女粉丝问:“陈老师!传说你是公司里的C#大贤者?”。
我答:“不感当!粗识皮毛,略懂略懂,略知1、2”。
女粉丝问:“陈老师!你知道C#中的var和dynamic吗?”。
我答:“知道!”。
女粉丝问:“可以教我吗?”。
我答:“好的!下面写个教程,你回头等我更新网文吧!”。

var关键字

var 是3.5新出的一个定义变量的类型:
自动类型;它可用来定义未知类型的局部变量,var可代替任何类型。

自动类型变量是在未明确指定数据类型的情况下声明的变量。
自动类型会自动推算出初始化变量类型。
自动类型变量概念是在C#3.0中引入的。
自动类型变量不是为了替换普通变量声明而设计的,它旨在处理一些特殊情况,如LINQ(语言集成查询)。

dynamic关键字

dynamic是4.0新出的一个定义未知类型变量:
是一种动态类型
它用于避免编译时类型检查。
编译器在编译时不检查动态类型变量的类型,相反,编译器在运行时获取类型。
动态类型变量是使用动态关键字创建的。

C#中关键字var和dynamic的区别是:

1、声明的变量
关键字var是在C#3.0中引入的,声明的变量是静态类型的,变量的类型由编译器在编译时决定。

关键字dynamic是在C#4.0中引入的,声明的变量是动态类型的,变量的类型由编译器在运行时决定。

2、初始化
var要在初始化时声明,编译器就会照初值定义变量类型。
如果变量未初始化,则抛出错误。\

关键字dynamic声明的变量在声明时不需要初始化此类型的变量,因为编译器在编译时不知道变量的类型。如果变量未初始化,也不会抛出错误。

3、intelliSense的支持
关键字var支持visual studio中的intelliSense。
关键字dynamic不支持visual studio中的intelliSense

4、应用
关键字var不能用于属性或从函数返回值。
它只能用作函数中的局部变量\

关键字dynamic可以用于属性或从函数返回值。

杰哥学习笔记分享到这里,会不定期更新,喜欢的粉丝们请收藏、关注、点赞,我的作品。

更多内容请看
虎哥引流器

http://2008622.3vfree.cc/GongNengYie.html