C#关键字是伴随这.NET 3.5以后,伴随着匿名函数、LINQ而来, 由编译器帮我们推断具体的类型。总体来说,当一个变量是局部变量(不包括类级别的变量),并且在声明的时候初始化,是使用var关键字的前提。具体什么时候使用,什么时候不使用,以下是个人浅见。

1、声明匿名函数时使用var关键字

var temp = new {Name="", Category=""};

2、LINQ投影出匿名函数结果时使用var关键字

var temp = from p in products
        where p.Name =="sth"
        select new {p.Name, p.Category};

3、    类型很明确时使用var关键字

var string = ""    ;
var result = new List<Product>();

以上,可以很明显从等号右边推断出类型,可以考虑使用var关键字。

4、类型不明确时慎用var关键字

var result = ProductRepository.GetProducts();

以上,如果使用var关键字,在可读性上就差了一点。

最新文章

  1. WPF系列 Style
  2. JavaScript变量和作用域
  3. 部分LINUX系统由图形界面启动变更为命令行界面启动的方法
  4. js中的各种宽高以及位置总结
  5. 如何强化 TCP/IP 堆栈
  6. 【Android开发经验】ViewHolder到底用什么修饰?static?final?static final?
  7. android手机内存大小获取
  8. SLIC superpixel实现分析
  9. mac攻略(3) -- brew使用
  10. python DNS域名轮询业务监控
  11. VS中Debug与Release、_WIN32与_WIN64的区别
  12. 28.Odoo产品分析 (四) – 工具板块(1) – 项目(1)
  13. 第九章 通过 SMB 共享虚拟机
  14. Fiddler设置断点修改Request和Response
  15. POJ 2610
  16. tilestache + mbutil应用
  17. 转帖 IBM要推POWER9,来了解一下POWER处理器的前世今生
  18. typed.js
  19. HTML5的28个常用特性
  20. 微信小程序上滑加载更多

热门文章

  1. 『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现
  2. centos7系统下安装配置jdk、tomcat教程
  3. %08lx
  4. Python api认证
  5. MyBatis使用示例
  6. Linux磁盘空间扩容(LVM)
  7. 使用Ajax方式POST JSON数据包(转)
  8. 007.Zabbix监控图形绘制
  9. 005.iSCSI客户端配置示例-Windows
  10. 新手:Qt之QLabel类的应用