C#中的变量类型var

来源:互联网 发布:一键关机软件 编辑:程序博客网 时间:2024/05/19 22:03
什么是var?在.Net3.5(包括.NET CF3.5)以后C#提供了一个新的变量类型var,也就是我们俗称的“推断类型”,编译器会根据上下文来判断你到底是想用什么类型的;var的使用场景?当我们不知道一个变量是什么类型时,我们直接用var初始化就可以。比如我们不知道B是什么类型,我们可以直接使用var b=new B();我们就直接实例化了一个B。如果我们把断点加到这句话上,我们运行完毕这句话后就可以知道B到底是什么类型了。使用var时的注意事项:
  1.  必须在定义时初始化。也就是必须是var s = 1;形式,而不能是如下形式: var s; s = 1;
  2.  一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。比如,var s=1;声明后再有s="abc"是不支持的。
  3.   var要求是局部变量,不能是全局变量。
  4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
其他语言中有和var功能类似的变量吗?我的回答是有,比如VB中的Variant,他们都能什么变量都能放入。我甚至认为VB中的Variant就是var的“母亲”。Variant和var的不同点:var是类型安全的,Variant类型不安全。其实我觉得Variant和object更相似。在其他那些语言中var在也是关键字?Pascal ,JavaScript,ASP,中也是关键字。是否建议大量的使用var?我的建议是知道明确类型的不要使用var,使用过多的VAR会导致我们代码的可读性降低。使用var时如果不知道类型就算了,当不确定是什么类型,却有个推断的时候可以加一句注释。不建议大量的使用var变量,这样使我们的代码可读性降低,维护难度增加。 
原创粉丝点击