【C#】var关键字

原文链接:http://blog.csdn.net/allenjy123/article/details/7228964

var概述

  var关键字是C#3.0开始新增的特性,称为推断类型(弱类型)。由var声明的变量,编译器会根据上下文来判断你到底是想用什么类型。

  我们可以赋予局部变量推断类型var而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。

  示例:原先定义变量,是要这样: 数据类型 变量名 = 值, 如:

int a = 1;     string b ="2";

也就是说,必须先明确地指定你的变量是什么数据类型,才能给它赋值。

  现在在C# 3.0里,有了变化,就是可以不用像上面那样定义变量了。如:

var a =1 ;

IDE或编译器会根据你给a赋的值1,来”推论”出a是一个整数类型。同理:

var b ="2";

因为给b赋的值是”2”这样一个字符串,所以,b就是string类型。

当你无法确定要用到的变量是什么类型,就可以使用var。用var声明变量和用具体的数据类型声明变量,效率一样,但都比Object效率高。

var特点

  • 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:
var s;
s = “abcd”;
  • 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
  • var只能用来声明局部变量。
  • 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

var优缺点

优点:

  1. 它有利于更好地为本地变量命名。
  2. 它有利于设计更好的API。
  3. 它促使对变量进行初始化。
  4. 它消除了代码的混乱。
  5. 它不需要using指示符。

缺点:降低代码的可读性。

使用建议

  过度使用var会使得源代码难以理解。只有在必要的时候,才推荐使用var,如:当变量用来存储一个匿名类型或者匿名类型集合的时候。

参考文章:var争论效率展示[MSDN中文参考]

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值