C#定义Dynamic动态变量——极速C_Sharp免费入门

198 阅读1分钟

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

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

dynamic被编译后,实际是一个 object类型,只不过编译器会对dynamic类型进行特殊处理,让它在编译期间不进行任何的类型检查,而是将类型检查放到了运行期。

所以下面的代码是能够通过编译的,但是会在运行时报错:

dynamic a = "test"; a++;

上面代码内部处理的过程是怎样的呢?

首先, dynamic类型赋值为字符串"test", 运行++操作的时候,.net会去寻找当前的赋值类型string中是否支持++操作,发现不支持,出现异常。

所以,如果这样修改一下,就可以让代码正常运行起来 dynamic a="test"; a=1; a++;

dynamic a="test";是字符串变理,a=1时动态变量马上变成数值形变量,a++就可以正常数值运算数了。

这个就是动态变量dynamic的优势 。

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

更多内容请看
虎哥引流器

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