黑马训练营自学笔记(01)
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
有关.Net一些新功能的整理:
一:自动属性
在基础视频中看到的定义属性的方法基本上都是一个Private变量,一个Public自动,比如一个Person类具有name,age,sex三个字段和相应的属性,我们就要这样来定义这个类:
1 class Person 2 { 3 private string name; 4 private int age; 5 private char sex; 6 public string Name 7 { 8 get{return name;} 9 set{name=value;} 10 } 11 public int Age 12 { 13 get{return age;} 14 set{age=value;} 15 } 16 public char Sex 17 { 18 get{return sex;} 19 set{sex=value;} 20 } 21 }
虽然我们可以通过工具自动生成属性,但是如果属性多了的话,这样看起来代码老长了,而且生成挨个点也麻烦。高兴的是在C#3.5及其以后,我们就可以这样来简写:
1 class Person 2 { 3 public string Name{get;set;} 4 public int Age{get;set;} 5 public char Sex{get;set;} 6 }
在定义属性时,可以不定义私有变量,直接使用空的get/set,编译器在编译时会在类中自动为我们生成相应的私有变量,这样以来是否感觉代码简洁了许多。引用杨中科老师的一句话:“微软就是贴心啊!”
二、对象和集合的初始化器
(1)对象初始化器:
就以上面我们的那个Person类为例。如果我要初始化话一个Person对象,并对其属性赋值的话,以前我们是这么干的:
1 Person p=new Person(); 2 p.Name="张三"; 3 p.Age=30; 4 p.Sex='男';
....点的好麻烦。C#3.5及其以后就支持如下写法:
1 Person p=new Person{Name="李四",Age=40,Sex='男'};
对象初始化器可以在创建对象时,向对象的任何可访问字段或属性分配值,而无需显式调用构造函数。减少了代码的书写量。
(2)集合初始化器
集合初始化器允许我们在创建一个集合时,把相应的集合对象一次性插入集合,避免使用多次Add添加,代码如下:
1 List<Person> P=new List<Person> 2 { 3 new Person{Name="张三",Age=30,Sex='男'}, 4 new Person{Name="李四",Age=40,Sex='男'}, 5 new Person{Name="王五",Age=50,Sex='男'} 6 };
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------