zoukankan      html  css  js  c++  java
  • C#中的var类型

    var关键字是C#3.0开始新增的特性,称为推断类型(其实也就是弱化类型的定义) 。

    VAR可代替任何类型,编译器会根据上下文来判断你到底是想用什么类型,类似 OBJECT,但是效率比OBJECT高点。


            我们可以赋予局部变量推断“类型”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类型...

    Ps.当你无法确定自己将用的是什么类型,就可以使用VAR

      

    使用var定义变量时有以下四个特点:

      1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:

       var s;

       s = “abcd”;

      2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。

      3. var要求是局部变量。

            4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

  • 相关阅读:
    字符串前面加@
    SQL字段类型bit 查询时注意
    SELECT IDENT_CURRENT(tableName)和自增长列的纠结
    解析xml文件 selectSingleNode取不到节点
    【.NET】.NET MVC4 微信扫一扫功能实现附全部代码
    未定义对象
    C# Web开发中弹出对话框的函数[转载]
    json序列化和反序列化
    jq的$.each()方法
    学习URLRewriter.dll的使用
  • 原文地址:https://www.cnblogs.com/slu182/p/4650837.html
Copyright © 2011-2022 走看看