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

C#裝箱和拆箱簡(jiǎn)單描述

開發(fā) 后端
這里介紹C#裝箱和拆箱,對(duì)于一般的程序員來(lái)說(shuō),大可不必去了解這一過(guò)程,因?yàn)檫@些C#裝箱和拆箱的動(dòng)作都是可以自動(dòng)完成的,不需要寫代碼進(jìn)行干預(yù)。

C#語(yǔ)言還是比較常見(jiàn)的東西,這里我們主要介紹C#裝箱和拆箱,包括介紹調(diào)用該 TestAlias() 函數(shù)等方面。

C#裝箱和拆箱還是別名

許多 C#.NET 的書上都有介紹 int -> Int32 是一個(gè)裝箱的過(guò)程,反之則是拆箱的過(guò)程。許多其它變量類型也是如此,如:short <-> Int16,long <-> Int64 等。對(duì)于一般的程序員來(lái)說(shuō),大可不必去了解這一過(guò)程,因?yàn)檫@些C#裝箱和拆箱的動(dòng)作都是可以自動(dòng)完成的,不需要寫代碼進(jìn)行干預(yù)。但是我們需要記住這些類型之間的關(guān)系,所以,我們使用“別名”來(lái)記憶它們之間的關(guān)系。

C# 是全面向?qū)ο蟮恼Z(yǔ)言,比 Java 的面向?qū)ο蠖歼€徹底——它把簡(jiǎn)單數(shù)據(jù)類型通過(guò)默認(rèn)的裝箱動(dòng)作封裝成了類。Int32、Int16、Int64 等就是相應(yīng)的類名,而那些我們熟悉的、簡(jiǎn)單易記的名稱,如 int、short、long 等,我們就可以把它稱作是 Int32、Int16、Int64 等類型的別名。

那么除了這三種類型之外,還有哪些類有“別名”呢?常用的有如下一些:
◆bool -> System.Boolean (布爾型,其值為 true 或者 false)
◆char -> System.Char (字符型,占有兩個(gè)字節(jié),表示 1 個(gè) Unicode 字符)
◆byte -> System.Byte (字節(jié)型,占 1 字節(jié),表示 8 位正整數(shù),范圍 0 ~ 255)
◆sbyte -> System.SByte (帶符號(hào)字節(jié)型,占 1 字節(jié),表示 8 位整數(shù),范圍 -128 ~ 127)
◆ushort -> System.UInt16 (無(wú)符號(hào)短整型,占 2 字節(jié),表示 16 位正整數(shù),范圍 0 ~ 65,535)
◆uint -> System.UInt32 (無(wú)符號(hào)整型,占 4 字節(jié),表示 32 位正整數(shù),范圍 0 ~ 4,294,967,295)
◆ulong -> System.UInt64 (無(wú)符號(hào)長(zhǎng)整型,占 8 字節(jié),表示 64 位正整數(shù),范圍 0 ~ 大約 10 的 20 次方)
◆short -> System.Int16 (短整型,占 2 字節(jié),表示 16 位整數(shù),范圍 -32,768 ~ 32,767)
◆int -> System.Int32 (整型,占 4 字節(jié),表示 32 位整數(shù),范圍 -2,147,483,648 到 2,147,483,647)
◆long -> System.Int64 (長(zhǎng)整型,占 8 字節(jié),表示 64 位整數(shù),范圍大約 -(10 的 19) 次方 到 10 的 19 次方)
◆float -> System.Single (單精度浮點(diǎn)型,占 4 個(gè)字節(jié))
◆double -> System.Double (雙精度浮點(diǎn)型,占 8 個(gè)字節(jié))

我們可以用下列代碼做一個(gè)實(shí)驗(yàn):

  1. private void TestAlias() {  
  2. // this.textBox1 是一個(gè)文本框,類型為 System.Windows.Forms.TextBox  
  3. // 設(shè)計(jì)中已經(jīng)將其 Multiline 屬性設(shè)置為 true  
  4. byte a = 1; char b = 'a'; short c = 1;  
  5. int d = 2; long e = 3; uint f = 4; bool g = true;  
  6. this.textBox1.Text = "";  
  7. this.textBox1.AppendText("byte -> " + a.GetType().FullName + "\n");  
  8. this.textBox1.AppendText("char -> " + b.GetType().FullName + "\n");  
  9. this.textBox1.AppendText("short -> " + c.GetType().FullName + "\n");  
  10. this.textBox1.AppendText("int -> " + d.GetType().FullName + "\n");  
  11. this.textBox1.AppendText("long -> " + e.GetType().FullName + "\n");  
  12. this.textBox1.AppendText("uint -> " + f.GetType().FullName + "\n");  
  13. this.textBox1.AppendText("bool -> " + g.GetType().FullName + "\n");  

在窗體中新建一個(gè)按鈕,并在它的單擊事件中調(diào)用該 TestAlias() 函數(shù),我們將看到運(yùn)行結(jié)果如下:

  1. byte -> System.Byte  
  2. char -> System.Char  
  3. short -> System.Int16  
  4. int -> System.Int32  
  5. long -> System.Int64  
  6. uint -> System.UInt32  
  7. bool -> System.Boolean 

這足以說(shuō)明各別名對(duì)應(yīng)的類!

【編輯推薦】

  1. C#創(chuàng)建Windows服務(wù)詳細(xì)介紹
  2. C#動(dòng)態(tài)編譯簡(jiǎn)單剖析
  3. C#靜態(tài)字段與實(shí)例字段分析
  4. C#匿名方法詳細(xì)剖析
  5. C#命名屬性簡(jiǎn)單描述
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2009-08-26 03:39:00

C#裝箱和拆箱

2009-09-01 17:51:47

C#拆箱C#裝箱

2009-08-06 15:40:11

C#裝箱和拆箱

2021-09-06 14:30:34

C#裝箱拆箱

2009-10-22 19:11:25

CLR Via C#教

2012-03-26 11:32:45

Java

2009-08-19 10:09:21

C#和C++

2009-08-26 14:54:23

C# new和over

2009-08-31 18:32:01

C# ListBoxE

2015-09-02 10:12:54

Java自動(dòng)裝箱拆箱

2020-11-02 13:06:42

Java裝箱拆箱

2009-08-20 16:45:03

C#哈希值

2009-08-27 10:01:52

C#自動(dòng)屬性

2009-09-01 17:08:35

C# Color枚舉

2009-09-03 16:55:58

C#引用類型

2009-09-07 15:31:49

C#支持事件

2009-09-16 09:01:40

C#多維數(shù)組

2009-08-21 17:31:58

C#垃圾回收

2009-08-13 17:58:34

C#存儲(chǔ)過(guò)程

2009-08-28 09:30:48

C#命名屬性
點(diǎn)贊
收藏

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