博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转载一个:【C#4.0】中的dynamic与var的区别-西南烟雨
阅读量:4932 次
发布时间:2019-06-11

本文共 475 字,大约阅读时间需要 1 分钟。

注意:var与dynamic这两个关键字,只是看起来很相 似,仅此而已!

var表示“变量的类型是在编译时决定的”,但是dynamic表 示“变量的类型是在运行时决定的”。因此,dynamicvar具有截然不同的含义。
var让 你在初始化变量时少输入一些字,编译器会根据右值来推断出变量的类型。dynamic更厉害,它告诉编译器,根本就别理究竟是啥类型,运行 时再推断不迟。
var只能用于局部变量的定义,你不能把类的属性定义成 var,也不能把方法的返回值类型或者是参 数类型定义成vardynamic就没有这些局限了。
dynamic类型并没有跳过类型校验,只是 延迟到了运行时。如果在运行时,检测到类型不兼容,照样会抛出异常。

你可能在以下情况下使用dynamic

1.COM对象
2.动态语言(如IronPython,IronRuby等)对象
3.反射对象
4.C# 4.0中动态创建的对象

 

原文地址:

 

转载于:https://www.cnblogs.com/acles/archive/2012/10/20/2732278.html

你可能感兴趣的文章
RMQ 总结
查看>>
手撸ORM
查看>>
POJ---2406 Power Strings[求最长重复字串]
查看>>
linux搭建haproxy
查看>>
Oracle update 日期
查看>>
【t088】倒水
查看>>
【t016】邮递员
查看>>
EasyUI 树形菜单tree 定义图标
查看>>
android 从系统相册获取一张图片
查看>>
JS动态构建一棵目录树
查看>>
JS判断只能是数字和小数点
查看>>
SSL 2289——庆功会
查看>>
Linux命令--su与sudo
查看>>
python课堂练习
查看>>
区块链资料高清PDF合集
查看>>
xml实现AOP
查看>>
bzoj 4237稻草人
查看>>
在发送intent启动activity之前判断是否有activity接收
查看>>
html5特征检测
查看>>
js中几种实用的跨域方法原理详解
查看>>