黑马训练营自学笔记(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培训、期待与您交流! ----------------------

posted @ 2012-10-07 17:56  duguao  阅读(222)  评论(0编辑  收藏  举报