.NET的C# 學習經驗總結
裝箱、拆箱還是別名
許多介紹C# .NET學習經驗的書上都有介紹 int -> Int32 是一個裝箱的過程,反之則是拆箱的過程。許多其它變數型別也是如此,如:short Int16,long Int64 等。對於一般的程式設計師來說,大可不必去了解這一過程,因為這些裝箱和拆箱的動作都是可以自動完成的,不需要寫程式碼進行干預。但是我們需要記住這些型別之間的關係,所以,我們使用“別名”來記憶它們之間的關係。
C# 是全物件導向的語言,比 Java 的物件導向都還徹底——它把簡單資料型別通過預設的裝箱動作封裝成了類。Int32、Int16、Int64 等就是相應的類名,而那些我們熟悉的、簡單易記的名稱,如 int、short、long 等,我們就可以把它稱作是 Int32、Int16、Int64 等型別的別名。那麼除了這三種型別之外,還有哪些類有“別名”呢?常用的有如下一些:
bool -> System.Boolean (布林型,其值為 true 或者 false)
char -> System.Char (字元型,佔有兩個位元組,表示 1 個 Unicode 字元)
byte -> System.Byte (位元組型,佔 1 位元組,表示 8 位正整數,範圍 0 ~ 255)
sbyte -> System.SByte (帶符號位元組型,佔 1 位元組,表示 8 位整數,範圍 -128 ~ 127)
ushort -> System.UInt16 (無符號短整型,佔 2 位元組,表示 16 位正整數,範圍 0 ~ 65,535)
uint -> System.UInt32 (無符號整型,佔 4 位元組,表示 32 位正整數,範圍 0 ~ 4,294,967,295)
ulong -> System.UInt64 (無符號長整型,佔 8 位元組,表示 64 位正整數,範圍 0 ~ 大約 10 的 20 次方)
short -> System.Int16 (短整型,佔 2 位元組,表示 16 位整數,範圍 -32,768 ~ 32,767)
int -> System.Int32 (整型,佔 4 位元組,表示 32 位整數,範圍 -2,147,483,648 到 2,147,483,647)
long -> System.Int64 (長整型,佔 8 位元組,表示 64 位整數,範圍大約 -(10 的 19) 次方 到 10 的 19 次方)
float -> System.Single (單精度浮點型,佔 4 個位元組)
double -> System.Double (雙精度浮點型,佔 8 個位元組)
我們可以用下列程式碼做一個實驗:
private void TestAlias() { // this.textBox1 是一個文字框,型別為 System.Windows.Forms.TextBox // 設計中已經將其 Multiline 屬性設定為 true byte a = 1; char b = 'a'; short c = 1; int d = 2; long e = 3; uint f = 4; bool g = true; this.textBox1.Text = ""; this.textBox1.AppendText("byte -> " + a.GetType().FullName + "\n"); this.textBox1.AppendText("char -> " + b.GetType().FullName + "\n"); this.textBox1.AppendText("short -> " + c.GetType().FullName + "\n"); this.textBox1.AppendText("int -> " + d.GetType().FullName + "\n"); this.textBox1.AppendText("long -> " + e.GetType().FullName + "\n"); this.textBox1.AppendText("uint -> " + f.GetType().FullName + "\n"); this.textBox1.AppendText("bool -> " + g.GetType().FullName + "\n"); } 在窗體中新建一個按鈕,並在它的單擊事件中呼叫該 TestAlias() 函式,執行結果如下:
byte -> System.Byte
char -> System.Char
short -> System.Int16
int -> System.Int32
long -> System.Int64
uint -> System.UInt32
bool -> System.Boolean
這足以說明各別名對應的類!
許多介紹C# .NET學習經驗的書上都有介紹 int -> Int32 是一個裝箱的過程,反之則是拆箱的過程。許多其它變數型別也是如此,如:short Int16,long Int64 等。對於一般的程式設計師來說,大可不必去了解這一過程,因為這些裝箱和拆箱的動作都是可以自動完成的,不需要寫程式碼進行干預。但是我們需要記住這些型別之間的關係,所以,我們使用“別名”來記憶它們之間的關係。
C# 是全物件導向的語言,比 Java 的物件導向都還徹底——它把簡單資料型別通過預設的裝箱動作封裝成了類。Int32、Int16、Int64 等就是相應的類名,而那些我們熟悉的、簡單易記的名稱,如 int、short、long 等,我們就可以把它稱作是 Int32、Int16、Int64 等型別的別名。那麼除了這三種型別之外,還有哪些類有“別名”呢?常用的有如下一些:
bool -> System.Boolean (布林型,其值為 true 或者 false)
char -> System.Char (字元型,佔有兩個位元組,表示 1 個 Unicode 字元)
byte -> System.Byte (位元組型,佔 1 位元組,表示 8 位正整數,範圍 0 ~ 255)
sbyte -> System.SByte (帶符號位元組型,佔 1 位元組,表示 8 位整數,範圍 -128 ~ 127)
ushort -> System.UInt16 (無符號短整型,佔 2 位元組,表示 16 位正整數,範圍 0 ~ 65,535)
uint -> System.UInt32 (無符號整型,佔 4 位元組,表示 32 位正整數,範圍 0 ~ 4,294,967,295)
ulong -> System.UInt64 (無符號長整型,佔 8 位元組,表示 64 位正整數,範圍 0 ~ 大約 10 的 20 次方)
short -> System.Int16 (短整型,佔 2 位元組,表示 16 位整數,範圍 -32,768 ~ 32,767)
int -> System.Int32 (整型,佔 4 位元組,表示 32 位整數,範圍 -2,147,483,648 到 2,147,483,647)
long -> System.Int64 (長整型,佔 8 位元組,表示 64 位整數,範圍大約 -(10 的 19) 次方 到 10 的 19 次方)
float -> System.Single (單精度浮點型,佔 4 個位元組)
double -> System.Double (雙精度浮點型,佔 8 個位元組)
我們可以用下列程式碼做一個實驗:
private void TestAlias() { // this.textBox1 是一個文字框,型別為 System.Windows.Forms.TextBox // 設計中已經將其 Multiline 屬性設定為 true byte a = 1; char b = 'a'; short c = 1; int d = 2; long e = 3; uint f = 4; bool g = true; this.textBox1.Text = ""; this.textBox1.AppendText("byte -> " + a.GetType().FullName + "\n"); this.textBox1.AppendText("char -> " + b.GetType().FullName + "\n"); this.textBox1.AppendText("short -> " + c.GetType().FullName + "\n"); this.textBox1.AppendText("int -> " + d.GetType().FullName + "\n"); this.textBox1.AppendText("long -> " + e.GetType().FullName + "\n"); this.textBox1.AppendText("uint -> " + f.GetType().FullName + "\n"); this.textBox1.AppendText("bool -> " + g.GetType().FullName + "\n"); } 在窗體中新建一個按鈕,並在它的單擊事件中呼叫該 TestAlias() 函式,執行結果如下:
byte -> System.Byte
char -> System.Char
short -> System.Int16
int -> System.Int32
long -> System.Int64
uint -> System.UInt32
bool -> System.Boolean
這足以說明各別名對應的類!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-629673/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 核心學習經驗總結Linux
- C# 學習經驗分享C#
- 我2年學習程式設計的經驗總結程式設計
- c primer plus 章節學習,經驗總結。
- 分享 | OpenVINO的安裝、上手、學習路線經驗總結
- 韓語學習經驗總結,給韓語初學者指路
- c# .Net Core靜態檔案伺服器學習總結C#伺服器
- C#反射機制學習總結C#反射
- 【C#學習之辨析小總結】C#
- docker學習系列16使用過程的一些經驗總結Docker
- 工作經驗總結
- vue經驗總結Vue
- mysql經驗總結MySql
- Java經驗總結Java
- Storm經驗總結ORM
- Resin 經驗總結
- Python常見面試題總結——個人Python學習經驗Python面試題
- 10年學到的程式設計經驗總結程式設計
- 老司機總結的21條即學即用經驗
- C#程式設計學習(04):基本操作學習總結C#程式設計
- IT職場管理經驗總結
- Eclipse經驗總結Eclipse
- mysql使用經驗總結MySql
- 考試經驗總結
- 做題經驗總結
- 我的刷題經驗總結
- 慕課網《Netty入門之WebSocket初體驗》學習總結NettyWeb
- c# 練習總結C#
- C#/.NET/.NET Core學習視訊彙總(持續更新ing)C#
- java的個人學習經驗Java
- 運維經理的運維經驗總結運維
- 一個專案經理的經驗總結
- C#隱式型別區域性變數經驗總結C#型別變數
- ASP.NET 2.0 URL Rewrite 學習總結ASP.NET
- 這兩天的面試經驗總結面試
- JMeter測試WebSocket的經驗總結JMeterWeb
- Google 的軟體工程經驗總結Go軟體工程
- 我的Android面試經驗總結Android面試