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

C#數(shù)據(jù)類型簡單介紹

開發(fā) 后端
這里介紹C#數(shù)據(jù)類型被分為了二大類:C#語言本身所固有的數(shù)據(jù)類型和用戶自定義數(shù)據(jù)類型,這一點(diǎn)也與C++相似。

C#有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#數(shù)據(jù)類型,包括介紹結(jié)構(gòu)數(shù)據(jù)類型是C#的一種內(nèi)置數(shù)據(jù)類型等方面。

C#中的值型變量和引用型變量是有區(qū)別的

與C++一樣,C#也是一種強(qiáng)類型編程語言。C#數(shù)據(jù)類型被分為了二大類:C#語言本身所固有的數(shù)據(jù)類型和用戶自定義數(shù)據(jù)類型,這一點(diǎn)也與C++相似。

此外,C#語言還把變量分為值類型和引用類型。除非是被包含在一個引用類型中,值類型變量的值保留在棧中,這一點(diǎn)與C++中的變量非常相似。引用類型的變量也是棧的一種,它的值是堆中對象的地址,與C++中的指針非常地相似。值類型變量的值被直接傳遞給方法,引用型變量在被作為參數(shù)傳遞給方法時,傳遞的是索引。

類和界面可以創(chuàng)建引用類變量,但需要指出的是,結(jié)構(gòu)數(shù)據(jù)類型是C#的一種內(nèi)置數(shù)據(jù)類型,同時也是一種值型的數(shù)據(jù)類型。

注意隱性的C#數(shù)據(jù)類型轉(zhuǎn)換

Boxing和unboxing是使值型數(shù)據(jù)類型被當(dāng)作索引型數(shù)據(jù)類型使用的二個過程。值型變量可以被包裝進(jìn)一個對象中,然后再被解包回值型變量。包括內(nèi)置數(shù)據(jù)類型在內(nèi)的所有C#數(shù)據(jù)類型都可以被隱性地轉(zhuǎn)化為一個對象。包裝一個值型變量就會生成一個對象的實例,然后將變量拷貝到實例中。

Boxing是隱性的,如果在需要索引型數(shù)據(jù)類型的地方使用了值型數(shù)據(jù)類型的變量,值型變量就會隱性地轉(zhuǎn)化為索引型數(shù)據(jù)類型的變量。Boxing會影響代碼執(zhí)行的性能,因此應(yīng)當(dāng)盡量避免,尤其是在數(shù)據(jù)量較大的時候。

如果要將一個打包的對象轉(zhuǎn)換回原來的值型變量,必須顯性地對它進(jìn)行解包。解包需要二個步驟:首先對對象實例進(jìn)行檢查,確保它們是由值型的變量被包裝成的;第二步將實例中的值拷貝到值型變量中。為了確保解包成功,被解包的對象必須是通過打包一個值型變量的值生成的對象的索引。

  1. using System;  
  2. public class UnboxingTest  
  3. {  
  4. public static void Main()  
  5. {  
  6. int i = 123;  
  7.  
  8. //打包  
  9. object o = i;  
  10.  
  11. // 解包(必須是顯性的)  
  12. int j = (int) o;  
  13. Console.WriteLine("j: {0}", j);  
  14. }  

如果被解包的對象是無效的,或是一個不同數(shù)據(jù)類型對象的索引,就會產(chǎn)生InvalidCastException異外。

【編輯推薦】

  1. 運(yùn)用C#數(shù)據(jù)提供者
  2. C#允許運(yùn)算符重載剖析
  3. Java和C#頂層聲明概述
  4. C#完全限定名簡單分析
  5. C#數(shù)據(jù)類型簡單介紹
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-04 10:16:30

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

2011-06-08 13:35:18

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

2009-09-11 12:00:33

C#預(yù)定義數(shù)據(jù)類型

2009-08-27 10:19:22

C#匿名類型

2009-08-03 17:51:43

C#引用類型

2009-08-14 16:46:44

C#元數(shù)據(jù)

2009-08-27 15:47:00

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

2010-01-19 13:17:05

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

2009-09-01 16:35:55

C#操作String數(shù)

2009-08-14 13:52:18

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

2009-08-12 16:26:27

C#數(shù)據(jù)類型轉(zhuǎn)換

2009-08-07 17:41:40

C#預(yù)處理

2009-08-06 14:53:41

C# User類

2009-08-10 16:19:37

C#冒泡排序

2009-08-14 17:27:56

C#方法參數(shù)

2009-08-18 17:37:57

C#固定指針

2009-08-21 17:55:52

C#復(fù)合控件

2011-08-04 15:14:39

Objective-C 數(shù)據(jù)類型

2009-09-01 16:19:57

C# new()約束

2009-08-06 18:15:13

C# SQL Serv
點(diǎn)贊
收藏

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