自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談C#對象和集合

開發(fā) 后端
這里介紹C#對象和集合一個對象要想像上面的那種形式初始化,必須滿足幾個條件:首先必須得有公有的無參構(gòu)造器,否則編譯器就無法new出一個對象,更別說初始化了。

C#對象和集合

我們知道在C#2.0中要初始化一個對象可以用構(gòu)造器,或者聲明公有屬性,然后在new一個對象之后在對屬性賦值。必須一步一步的來,在C#3.0中可以有一種很簡單的方法對C#對象和集合進行初始化工作。

看個例子:

  1. public class Point ...{  
  2. int x, y;  
  3. public int X ...{ get ...{ return x; } set ...{ x = value; } }  
  4. public int Y ...{ get ...{ return y; } set ...{ y = value; } }  
  5. }  
  6.  
  7. var a = new Point ...{ X = 0Y = 1 };  
  8. //相當于:var a = new Point(); a.X = 0a.Y = 1;  
  9.  
  10. //集合初始化器:  
  11. List<int> numnew List<int> ...{ 0, 1, 2, 6, 7, 8, 9 };  
  12. //相當于:ICollection<T>.Add(T),即num.Add(0),... 

我們明顯的看到初始化工作又被簡單化了。注意這里用到的技術(shù)仍然是編譯時技術(shù),也就是編譯器會在背后替你做好多工作。而不是運行時的技術(shù)。

從上面我們可以看出來,一個對象要想像上面的那種形式初始化,必須滿足幾個條件:首先必須得有公有的無參構(gòu)造器,否則編譯器就無法new出一個對象,更別說初始化了。其次在進行賦值的時候,這些屬性必須是共有的。這點就不必解釋了。

如果想看看背后編譯器做了哪些工作,我們可以用ILDasm對上面的代碼進行反匯編,就可以看到背后自動生成的一些東西了。以上介紹C#對象和集合。

【編輯推薦】

  1. 淺析C# ArrayList
  2. C#對象初始化學習總結(jié)
  3. 使用C#正則表達式匹配相關(guān)字符串
  4. C#改寫方法學習筆記
  5. 概述C#加框和消框
責任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-05-08 09:46:37

微軟C#集合對象

2009-08-26 15:28:52

C#對象集合初始化器

2009-08-12 11:24:25

C# String對象

2009-08-19 17:12:18

C# Connecti

2009-08-31 09:37:09

C# Employee

2009-09-02 15:41:21

C# HTTPWebR

2009-08-03 15:06:43

C# Stack對象C# Queue對象

2009-09-02 16:36:37

C#調(diào)用Excel對象

2025-03-19 07:48:07

C# 13params參數(shù)

2009-07-31 17:51:27

C#對象初始化

2009-08-11 13:13:09

C#和Java比較

2009-08-26 14:27:03

C# Framewor

2009-08-10 10:04:25

C#抽象類C#接口

2009-08-11 10:12:21

2009-08-20 18:30:33

C# ReaderWr

2011-09-21 10:56:31

C#結(jié)構(gòu)

2009-08-24 18:01:45

C#3.0新特性

2009-08-26 14:05:19

C#值類型和引用類型

2009-08-18 15:15:29

C#安裝服務(wù)

2009-08-27 10:54:09

C# const和st
點贊
收藏

51CTO技術(shù)棧公眾號