C#杂记-隐式类型的局部变量
基础知识:方法中声明的变量,叫局部变量
普通局部变量:有明确数据类型。
string name;
隐式类型的局部变量:使用“var”代替明确的数据类型。
var name = "abc";
--------------------------------------------------------------------
隐式类型的局部变量依然是静态数据类型,有赋值的数据类型指定,这个指定数据类型的行为由编译器执行
var name = "abc";
name = ;
这是无法编辑的。
----------------------------------------------------------------------------------
使用隐式类型的限制,可以使用的情况:
- 变量是局部变量,不是静态字段和实例变量
- 变量必须在声明的同时初始化
- 初始化表达式不能是方法组,也不能是匿名函数;也就是说初始化表达式有明确的数据类型
- 初始化表达式不是null
- 变量声明每次只声明一个变量
----------------------------------------------------------------------------------------------------------------
隐式类型的优缺点
减少代码输入量;如果类型是一个字典套字典的对象,使用“new”初始化对象;声明时的对象类型就可以使用“var”代替。
-------------------------------------------------------------------------------------------------------------
建议
读代码的人一眼就能看出变量类型是很重要的,用显示类型;
变量直接用构造函数初始化的,可以用隐式变量;
两种都写,看哪种顺眼。
---------------------------------------------------------------------------------------------------
最新文章
- 使用 OAuth2-Server-php 在 Yii 框架上搭建 OAuth2 Server
- JavaScript的几种继承方式
- excel在一个图表内,显示折线图和柱状图
- php 正则匹配中文
- typedef的用法
- Android数据库(sqlite)加密方案
- mysql 运行sql脚本文件
- 关于一次Weblogic活动线程的问题处理
- 第12讲- Android之消息提示Toast
- .Net下一个Winform方案可以让MessageBox.Show它显示在父窗口的中间
- JS闭包深入理解(理解篇)
- 我的第一个python web开发框架(5)——开发前准备工作(了解编码前需要知道的一些常识)
- MongoDB索引限制
- Codeforces 700E. Cool Slogans
- mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
- ASP.NET MVC Json的序列化和反序列化
- 动态规划-LIS最长上升子序列
- 分布式Tomcat session会话Sticky Sessions问题
- java8 字符串转换 list long Integer
- Java构建指定大小文件