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;
|
请发表评论