动态类型var和dynamic和传统确定类型区别和效率

简介:

   伴随着vs2010的出现,c#4.0的诞生,与之而来的动态类型dynamic更是给net程序员们锦上添花,为自己的程序书写上带来了给大的便利。可到底怎么用,好不好用,效率这么样,也许是大家最迫切关注的,msdn虽然有简介和使用方法但效率问题才是是否实用的衡量标准和使用前提,本文将为您揭开谜底。

    一、var、dynamic简介。

    二var、dynamic区别。

    三var、dynamic、传统确定类型的效率对比。

一、var、dynamic简介

1.var简介:动态推断类型,net framework 3.5新出的一个定义变量的类型,其实也就是弱化类型的定义,在代码转移时候确定类型。

    msdn参考:[http://msdn.microsoft.com/zh-cn/library/bb383973.aspx]

    百度百科参考:[http://baike.baidu.com/view/407694.htm]

2.dynamic简介:动态类型,net framework 4.0新出的一个定义变量的类型,在代码运行的时候确定类型。

     msdn参考:[http://msdn.microsoft.com/zh-cn/library/dd264741.aspx]

var、dynamic区别。


var、dynamic区别:

    1.var程序编译时确定类型、dynamic程序运行时确定类型。

    2.var 只能定义局部变量;dynamic可定义局部变量和类变量。

    ....

var、dynamic、传统确定类型的效率对比。

    var、dynamic、传统确定强类型究竟谁能称王,成为武林中的霸主,下面通过本人的代码和运行结果已见分晓。

    代码思路,执行同样的操作,给一个StudentInfo类赋值和打印100000次,有计时器查看运行的时间,代码如下:

    

View Code

执行结果:

多次执行的结论:传统类型 效率 >= var 动态推断类型 > dynamic动态类型 





本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/archive/2011/02/17/1957014.html,如需转载请自行联系原作者



目录
相关文章
|
数据采集 数据可视化 数据处理
利用 Jupyter 实现自动化报告生成
【8月更文第29天】自动化报告生成是在数据分析领域非常有用的一项技能。它可以帮助我们节省大量的手动工作时间,并确保每次生成的报告都是一致且准确的。本文将介绍如何使用 Jupyter Notebook 结合 Python 库(如 Pandas 和 Matplotlib)来实现自动化报告生成。
1014 0
|
12月前
|
人工智能
青否数字人直播间五大互动,承诺抖音封号即退款!
青否数字人直播系统通过五大互动策略实现真正的无人直播,包括AI智能互动、关键词互动、氛围引导、弹幕文字互动和真人接管。系统支持独立部署,一次买断终身使用,具备无限量声音和形象克隆功能,确保直播过程中的实时互动和高质量内容输出。
|
存储 数据库 SQL
网站数据存放
【6月更文挑战第2天】网站数据存放
253 2
|
缓存 负载均衡 Java
OpenFeign最核心组件LoadBalancerFeignClient详解(集成Ribbon负载均衡能力)
文章标题为“OpenFeign的Ribbon负载均衡详解”,是继OpenFeign十大可扩展组件讨论之后,深入探讨了Ribbon如何为OpenFeign提供负载均衡能力的详解。
OpenFeign最核心组件LoadBalancerFeignClient详解(集成Ribbon负载均衡能力)
|
存储 Prometheus 监控
Prometheus 存储方案与优化
【8月更文第29天】Prometheus 是一个流行的开源监控系统,它使用时间序列数据库来存储监控数据。Prometheus 的时间序列数据库是基于本地文件系统的,这种设计提供了高吞吐量的读写能力,但同时也带来了存储方面的挑战。本文将详细介绍 Prometheus 存储的工作原理,并提出一些优化策略以减少磁盘占用。
1132 1
|
12月前
|
运维 监控 Cloud Native
云原生技术在现代企业中的应用与挑战####
【10月更文挑战第15天】 本文深入探讨了云原生技术如何重塑企业的IT架构,并分析了其带来的机遇与面临的挑战。通过案例分析,揭示了云原生技术在提升业务敏捷性、降低运维成本方面的显著优势,同时也指出了在安全性、多云管理等方面的潜在难题,为企业决策者提供了有价值的参考。 ####
74 3
|
Python
Python中比较运算符和不可比较的类型
【6月更文挑战第4天】
249 1
|
传感器 人工智能 算法
一根“棉花棒”搞定无接触测温,精度达到±0.5度,无人机是如何做到的?
一根“棉花棒”搞定无接触测温,精度达到±0.5度,无人机是如何做到的?
246 0
|
NoSQL 物联网 Redis
400多位云计算专家和开发者,加入了同一个组织
阿里云MVP,共同传递技术力量
3041 0
|
缓存 C语言 索引
【编程之美】超时重传,滑动窗口,可靠性传输原理C语言实现
最近在做无线传输的通信协议实现,这里涉及到超时重传,窗口移动,可靠性传输的问题,有些一些心得,也有很多的调试历程,与大家分享,当然源码不会开源,但是思想会毫无保留.