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

詳細介紹C#類型系統(tǒng)

開發(fā) 后端
這里介紹C#類型系統(tǒng)你學到如何使用不同的值和引用類型,加框和消框機制能為你作些什么。盡管這一章的不側(cè)重于例子,但你可以學到很多重要的信息,關于如何創(chuàng)建現(xiàn)成類型的程序。

C#類型系統(tǒng)

既然你知道了怎樣創(chuàng)建一個簡單的C#程序,我將會給你介紹C#類型系統(tǒng)。在這一章中,你學到如何使用不同的值和引用類型,加框和消框機制能為你作些什么。盡管這一章的不側(cè)重于例子,但你可以學到很多重要的信息,關于如何創(chuàng)建現(xiàn)成類型的程序。

值類型

各種值類型總是含有相應該類型的一個值。C#迫使你初始化變量才能使用它們進行計算-變量沒有初始化不會出問題,因為當你企圖使用它們時,編譯器會告訴你。每當把一個值賦給一個值類型時,該值實際上被拷貝了。相比,對于引用類型,僅是引用被拷貝了,而實際的值仍然保留在相同的內(nèi)存位置,但現(xiàn)在有兩個對象指向了它(引用它)。C#的值類型可以歸類如下:
◆簡單類型(Simple types )
◆結(jié)構(gòu)類型(struct types)
◆枚舉類型(Enumeration types)

1.簡單類型

在C#中出現(xiàn)的簡單類型共享一些特性。第一,它們都是.NET系統(tǒng)類型的別名。第二,由簡單類型組成的常量表達式僅在編譯時而不是運行時受檢測。最后,簡單類型可以按字面被初始化。以下為C#簡單類型歸類:
◆整型
◆布爾型
◆字符型 (整型的一種特殊情況)
◆浮點型
◆小數(shù)型

2.結(jié)構(gòu)類型

一個結(jié)構(gòu)類型可以聲明構(gòu)造函數(shù)、常數(shù)、字段、方法、屬性、索引、操作符和嵌套類型。盡管列出來的功能看起來象一個成熟的類,但在C#中,結(jié)構(gòu)和類的區(qū)別在于結(jié)構(gòu)是一個值類型,而類是一個引用類型。與C++相比,這里可以用結(jié)構(gòu)關鍵字定義一個類。

使用結(jié)構(gòu)的主要思想是用于創(chuàng)建小型的對象,如Point和FileInfo等等。你可以節(jié)省內(nèi)存,因為沒有如類對象所需的那樣有額外的引用產(chǎn)生。例如,當聲明含有成千上萬個對象的數(shù)組時,這會引起極大的差異。

包含一個命名為IP的簡單結(jié)構(gòu),它表示一個使用byte類型的4個字段的IP地址。我不包括方法等,因為這些工作正如使用類一樣,將在下一章有詳細的描述。

定義一個簡單的結(jié)構(gòu)

  1. using System;  
  2. struct IP{  
  3. public byte b1,b2,b3,b4;  
  4. }  
  5. class Test{  
  6. public static void Main(){  
  7. IP myIP;  
  8. myIP.b1 = 192;  
  9. myIP.b2 = 168;  
  10. myIP.b3 = 1;  
  11. myIP.b4 = 101;  
  12. Console.Write("{0}.{1}.",myIP.b1,myIP.b2);  
  13. Console.Write("{0}.{1}",myIP.b3,myIP.b4);  
  14. }  

3.枚舉類型

當你想聲明一個由一指定常量集合組成的獨特類型時,枚舉類型正是你要尋覓的。最簡單的形式,它看起來可能象這樣:enum MonthNames { January, February, March, April };

因我慣用缺省設置,故枚舉元素是int型,且第一個元素為0值。每一個連續(xù)的元素按1遞增。
◆如果你想給第一個元素直接賦值,可以如下把它設成1:enum MonthNames { January=1, February, March, April };
◆如果你想賦任意值給每個元素——甚至相同的值——這也沒有問題:enum MonthNames { January=31, February=28, March=31, April=30 };
◆最后的選擇是不同于int的數(shù)據(jù)類型??梢栽谝粭l語句中按如此賦值:enum MonthNames : byte { January=31, February=28, March=31, April=30 };
你可以使用的類型僅限于long、int、short和byte.

以上介紹C#類型系統(tǒng)

【編輯推薦】

  1. 介紹Mono C#編譯器
  2. C#運算符重載學習總結(jié)
  3. 概述C#語言的結(jié)構(gòu)體
  4. C#遺傳算法學習筆記
  5. 討論C#分部方法
責任編輯:佚名 來源: 百度空間
相關推薦

2011-06-08 13:35:18

C#數(shù)據(jù)類型

2009-08-12 15:34:40

C# DBNull

2009-08-10 16:30:56

C# BitmapDa

2009-08-13 13:38:30

C#命名規(guī)范

2009-08-21 15:16:23

C#使用指針

2009-08-26 17:31:59

C# const常量

2009-08-24 18:21:23

C# ListView

2009-08-03 18:49:17

C#和Java

2009-08-20 15:26:42

C#循環(huán)語句

2009-08-21 09:23:11

C# GDI+

2009-08-07 16:10:20

C#調(diào)用API

2009-09-11 11:17:04

C#引用類型

2009-08-13 15:40:28

C#基礎知識

2009-08-27 17:31:44

C#創(chuàng)建Windows

2009-08-27 10:19:22

C#匿名類型

2009-08-27 14:32:15

C#編寫ActiveX

2009-08-25 17:28:23

C#創(chuàng)建DataSet

2009-08-06 14:59:36

C#編譯器

2009-08-18 17:17:05

C#局部類型

2009-08-03 17:51:43

C#引用類型
點贊
收藏

51CTO技術棧公眾號