偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

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

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

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

  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. }  

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

【編輯推薦】

  1. 運(yùn)用C#數(shù)據(jù)提供者
  2. C#允許運(yùn)算符重載剖析
  3. Java和C#頂層聲明概述
  4. C#完全限定名簡(jiǎn)單分析
  5. C#數(shù)據(jù)類型簡(jiǎn)單介紹
責(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-03 17:51:43

C#引用類型

2009-08-27 10:19:22

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-08-13 17:36:54

編譯C#代碼

2009-09-03 09:40:57

C#創(chuàng)建表單

2009-08-06 18:15:13

C# SQL Serv

2009-09-01 16:19:57

C# new()約束

2009-08-20 16:25:59

C# 匿名方法

2009-08-25 13:38:35

C# Timer組件

2009-08-07 17:12:07

C# DLL函數(shù)

2009-08-12 16:26:27

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

2009-08-21 17:55:52

C#復(fù)合控件

2009-08-07 17:41:40

C#預(yù)處理

2009-08-18 17:37:57

C#固定指針

2009-08-10 16:19:37

C#冒泡排序
點(diǎn)贊
收藏

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