【转】http://blog.csdn.net/courageously/article/details/5695626

var关键字是C# 3.0开始新增的特性,称为推断类型 . 可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。 上面的资料有点抽象不好理解. 示例: 原来我们定义变量,是要这样: 数据类型 变量名 = 值; 如: int a = 1; string b = "2"; 也就是说,"必须先明确地"指定你的变量是什么数据类型,才能给它赋值.这点很重要,要记住才好比较. 现在在C# 3.0里,有了变化,就是可以不用像上面那样定义变量了. 如: var a =1 ; 那这个a,是什么类型呢?和原来的做法不一样了. 奥妙就在这里,IDE或编译器会根据你给a 的值:1,来"推论,断定"a是一个整数类型. 同理: var b = "2"; 因为给b的值是"2"这样一个字符串,所以,b就是string类型...

又如:

VAR 是3.5新出的一个定义变量的类型 其实也就是弱化类型的定义 VAR可代替任何类型 编译器会根据上下文来判断你到底是想用什么类型的 至于什么情况下用到VAR   我想就是你无法确定自己将用的是什么类型 就可以使用VAR     类似 OBJECT 但是效率比OBJECT高点 使用var定义变量时有以下四个特点: 1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式: var s; s = “abcd”; 2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。 3.   var要求是局部变量。 4.   使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

C#中var关键字【转】的更多相关文章

  1. C#中var关键字用法分析

    原文连接 本文实例分析了C#中var关键字用法.分享给大家供大家参考.具体方法如下: C#关键字是伴随着.NET 3.5以后,伴随着匿名函数.LINQ而来, 由编译器帮我们推断具体的类型.总体来说,当 ...

  2. C#中 Var关键字

    文章来源: 青水白凡 C#中 Var关键字 Var是C#3.5新增的一个关键字,用来代替某些具体的类型,由编译器自动判断变量类型,编译器可以根据变量的初始化值"推断"变量的类型. ...

  3. JavaScript中var关键字的使用详解

    作用 声明作用:如声明个变量. 语法 ? 1 var c = 1; 省略var 在javascript中,若省略var关键字而直接赋值,那么这个变量为全局变量,哪怕是在function里定义的. ? ...

  4. c#中var关键字用法

    Technorati 标签: C# 转载自csdn:http://blog.csdn.net/robingaoxb/article/details/6175533   var关键字是C# 3.0开始新 ...

  5. php中var关键字用法

    见很多朋友说在php中定义变量用不用var都没关系,其实不然. 看看例子,如果我这样使用var: 1 var $a=123; 2 echo $a; 3 //那么程序会提示语法错误,要去掉var这个变量 ...

  6. java 10 中 var关键字用法

    引用:https://mp.weixin.qq.com/s/n1tcJ0CywSi0j-YycGPwxg what java10引入了局部变量折断 var用于声明局部变量. 如var user=new ...

  7. php中的var关键字的用法总结(var在类外用报错)(类属性必须带限定词)

    php中的var关键字的用法总结(var在类外用报错)(类属性必须带限定词) 一.总结 1.var在类外用报错:如果不是在类中,用var定义变量是错的. 2.类属性必须带限定词:php中类属性必须定义 ...

  8. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  9. js中this关键字测试集锦

    参考:阮一峰<javascript的this用法>及<JS中this关键字详解> this是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在 ...

随机推荐

  1. SQL Server创建LinkServer

    USE [master] GO /****** Object: LinkedServer [xxx_LNK] Script Date: 2014/7/7 17:04:13 ******/ EXEC m ...

  2. Android中Gallery显示手机中的图片

    在网上找了好久似乎都没有关于这方面的(可能是自己的信息量太小吧),于是自己来填补这个漏洞吧. 常见的方法莫过于自己定义一个数组,用以存储图片的引用,如: 1 private Integer[] pic ...

  3. Android UI ActionBar功能-启动ActionBar

    官方帮助文档:http://wear.techbrood.com/training/basics/actionbar/index.html ------------------------------ ...

  4. 如何在Github Pages搭建自己写的页面?

    教程一大堆,却没有几个能看懂的,问题一:90%的都在讲解如何搭建博客,和我想要将自己的网页部署到上面还是有点区别的.问题二:所有的教程都用到了Git,而我只知道Git是一个开源的分布式版本控制系统.完 ...

  5. java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag

    异常原因:缺少jstl.jar包.一般在新建Web项目是jstl一项不要选none就不会出现这个问题.(还有可能就是缺少servlet-api.jar)

  6. C#:获取时间年月日时分秒格式

    //获取日期+时间 DateTime.Now.ToString();            // 2008-9-4 20:02:10 DateTime.Now.ToLocalTime().ToStri ...

  7. doGet与doPost的区别

    转自:http://blog.csdn.net/luoweifu/article/details/7865243   目录(?)[-] 不同点一 不同点二 输入表单inputhtml Serlvlet ...

  8. js私有化属性

    我们先来看一个例子: var Demo1 = function(val){ this.value = val; this.getValue = function(){ return this.valu ...

  9. 解决PowerDesigner中DBMS设置的问题(Repost)

    创建物理模型时DBMS下拉框是空的,没值,以前从来没遇到过这种现象,开始以为PowerDesigner安装软件的问题,不过装了又卸,卸了又装,结果还是那样,现在找到答案了:点击DBMS后面的黄色文件图 ...

  10. [原创]抢先DriverStudio夺取机器控制权(下篇)

    原文链接:抢先DriverStudio夺取机器控制权(下篇) 上篇仅仅说到如何抢先DriverStudio,并在结尾留给大家一个遐想.现在我进一步拓展这个遐想,从而给大家更多的遐想.: ) 那么现在我 ...