程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> .NET 3.x新特性之自動屬性及集合初始化

.NET 3.x新特性之自動屬性及集合初始化

編輯:關於C#

今天公司弄了個VS2008 beta 2中文版,雖然很大一部分是為了JS的智能提示外,也應該好好的溫習一下.NET的一些新特性,由於以前寫過一些文章,但是都沒有系統的學過,都只是嘗一下新鮮感。不知道從那開始,所以今天就來看看自動話屬性,以及對象初始化和集合初始化的一些新特性。

1.自動屬性

在做一個程序是我們離不開屬性,特別是實體類。我們用指頭一個一個的敲著get和set及局部的變量(Fields),現在可好不用在重復敲那些東東了我們只要用到get和set,就和我們的接口聲明差不多了,是不是很happy。

OK看個例子先,在.NET 2.0下我們聲明一個實體類要有如下做法,這個應該沒什麼意見吧。

1 public class Person {
2
3  private string firstName;
4  private string lastName;
5  private int age;
6
7  public string FirstName {
8
9   get {
10   return this.firstName;
11  }
12  set {
13   this.firstName = value;
14  }
15 }
16
17 public string LastName {
18
19  get {
20   return this.lastName;
21  }
22  set {
23   this.lastName = value;
24  }
25 }
26
27 public int Age {
28
29  get {
30   return this.age;
31  }
32  set {
33   this.age = value;
34  }
35 }
36 }

在.NET 3.x中我們可以省了很多東東,代碼也變得簡單很多,代碼如下:

1 public class Person {
2
3  public string FirstName {
4   get; set;
5  }
6
7  public string LastName {
8   get; set;
9  }
10
11  public int Age {
12   get; set;
13  }
14 }

2.對象的初始化

我們省了很多的代碼,手指也少動了,沒辦法人總是越來越懶的嗎,下面我們來看看對象的初始化也是簡單了不少,看代碼就知道了,代碼如下:第一個代碼是.NET2.0中的初始化方式,而第二個是.NET 3.x的初始化方式,當然.NET2.0的方式也適合3.x的版本。

1 //.NET 2.0:
2 Person person = new Person();
3 person.FirstName = "小兵";
4 person.LastName = "網魂";
5 person.Age = 23;
6 //.NET 3.x:
7 Person person = new Person { FirstName = "小兵", LastName = "網魂", Age = 23};

3.集合的初始化

其實我們寫程序也是封裝在封裝來為我們節省更多的東東,復用更多的東東。微軟為我們做的也是越來越多,這是這篇文章的最後一個主題就是集合的初始化,我麼一起來對照一下。

1 //.NET 2.0;
2 List<Person> people = new List<Person>();
3
4 people.Add( new Person { FirstName = "小兵", LastName = "網魂", Age = 23 } );
5 people.Add( new Person { FirstName = "QQing", LastName = "Lai", Age = 22 } );
6 people.Add( new Person { FirstName = "Xbing", LastName = "My", Age = 20 } );
7
8 //.NET 3.x;
9 List<Person> people = new List<Person> {
10  new Person { FirstName = "小兵", LastName = "網魂", Age = 23 },
11  new Person { FirstName = "QQing", LastName = "Lai", Age = 22 },
12  new Person { FirstName = "Xbing", LastName = "My", Age = 20 }
13 };//記得這邊是要有";"的,不然就會出錯的。

OK以上就是我們今天所溫習的一個簡單的特性,利用它們我們可以很簡單的來書寫實體類了,雖然在程序中完全支持.NET 3.x在現階段還是不可能的,作為程序員學習在學習才是正道。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved