隐式类型
来源:互联网 发布:吉他谱曲软件 编辑:程序博客网 时间:2024/05/17 09:12
(1)源起
在隐式类型出现之前,
我们在声明一个变量的时候,
总是要为一个变量指定他的类型
甚至在foreach一个集合的时候,
也要为遍历的集合的元素,指定变量的类型
隐式类型的出现,
程序员就不用再做这个工作了。
(2)使用方法
来看下面的代码:
var a = 1; //int a = 1; var b = "123";//string b = "123"; var myObj = new MyObj();//MyObj myObj = new MyObj()
上面的每行代码,与每行代码后面的注释,起到的作用是完全一样的
也就是说,在声明一个变量(并且同时给它赋值)的时候,完全不用指定变量的类型,只要一个var就解决问题了
(3)你担心这样写会降低性能吗?
我可以负责任的告诉你,这样写不会影响性能!
上面的代码和注释里的代码,编译后产生的IL代码(中间语言代码)是完全一样的
(编译器根据变量的值,推导出变量的类型,才产生的IL代码)
(4)这个关键字的好处:
你不用在声明一个变量并给这个变量赋值的时候,写两次变量类型
(这一点真的为开发者节省了很多时间)
在foreach一个集合的时候,可以使用var关键字来代替书写循环变量的类型
(5)注意事项
你不能用var关键字声明一个变量而不给它赋值
因为编译器无法推导出你这个变量是什么类型的。
0 0
- 推断类型VAR(隐式类型)
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换规则
- 类型隐式转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- C# 隐式类型
- 隐式类型转换
- 隐式类型转换
- 隐式类型
- 隐式类型转换
- 隐式类型转换
- 隐式类型转换
- C#中泛型集合List<T>反序列化问题及解决方法
- LT8619B,HDMI转RGB,HDMI转LVDS,MHL转RGB,MHL转LVDS
- 对待生命
- 程序中的除法取余
- [C]日志函数
- 隐式类型
- ocp-189
- LT8612EX业界最新两路输出,HDMI转VGA/HDMI,HDMI转HDMI加VGA
- 匿名类型
- ocp-190
- 自动属性
- 初始化器
- 委托
- 泛型