• c#4.5新语法--自动属性和隐式类型


    1、自动属性
        自动属性是c#中属性定义的两种形式的一种:传统属性定义、自动属性。
        1.1 传统属性定义
            private int _age;
            public int Age
            {
                get { return _age; }
                set { _age = value; }
            }
     1.2 自动属性
             public int Age{get;set;}//该句代码的作用和上面传统属性定义的语句的作用是一样的
    1.3 两种属性定义形式的优缺点对比
     1.3.1 传统属性定义形式
        缺点:定义属性的代码多 语法不简洁 繁琐
        优点:定义属性的时候,可以带一些逻辑判断,这是自动属性所不能做到的。
              例如:
           private int _age;
            public int Age
            {
                get { return _age; }
                set {
                    if((0<value)&&(value<200))
                    {
                    _age = value;
                    }
                }
            }
        1.3.2 自动属性定义形式
           优点:定义语法简介,高效、减少程序员书写的代码量
           缺点:定义属性的时候,不能做一些逻辑判断。
    2、属性的作用
      1、定义属性可以保护类的私有字段(封装性)
      2、简化了对类的调用(定义属性之后,要调用累得字段_age,不需要再实例化类了)

    3、隐式类型 var
    3.1概述
      定义变量的方式有两种:传统定义方式、定义成隐式类型。
      传统定义方式:数据类型+变量名(定义的时候可以初始化,也可以不初始化) int k=0;int k;
      隐式类型定义方式:var+变量名(定义的时候必须初始化)var k=0;、
    3.2 注意
    (1).声明的同时必须初始化,因为编译时要根据初始化值类型来推断var的类型;
    (2).声明后不能再修改数据类型,因为初始化的时候已经确定了var的类型了;
    (3).只能作为方法局部变量使用。类的成员字段、方法的形参和返回值都不能使用!因为无法在编译时确定他们的类型!
    (4).初始化表达式不能是匿名函数和null。
    (5)、隐式类型不是动态类型,编译的时候,.net框架把var k=0;转换成了int k=0;

  • 相关阅读:
    使用VS2005制作安装包时遇到的问题
    XPO学习(5)一个实现数据编辑的ASP.NET应用程序
    XPO学习(2)关系(一对多)
    XPO学习(1)第一个基于XPO的 数据感知应用程序
    XPO学习(3)数据查询
    XPO学习(4)一个WINFROM的数据编辑应用程序
    【收藏】Oracle教程
    IIS 7中的AppCmd.exe执行的基础命令
    类和结构的区别
    windows服务器管理交流群
  • 原文地址:https://www.cnblogs.com/net064/p/5726887.html
Copyright © 2020-2023  润新知