亚洲欧美综合精品二区,亚洲av无码国产精品夜色午夜,亚洲精品无码乱码成人,亚洲精品成人久久久,亚洲av成人午夜电影在线观看

話本小說網(wǎng) > 玄幻奇幻小說 > CSharp初學(xué)者教程
本書標(biāo)簽: 玄幻奇幻 

6.C Sharp 數(shù)據(jù)類型

CSharp初學(xué)者教程

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

*在 C# 中,變量分為以下幾種類型:

值類型(Value types)

引用類型(Reference types)

指針類型(Pointer types)

二、值類型(Value types)

值類型變量可以直接分配給一個(gè)值。它們是從類 System.ValueType 中派生的。

值類型直接包含數(shù)據(jù)。比如 int、char、float,它們分別存儲(chǔ)數(shù)字、字符、浮點(diǎn)數(shù)。當(dāng)您聲明一個(gè) int 類型時(shí),系統(tǒng)分配內(nèi)存來存儲(chǔ)值。

下表列出了 C# 2010 中可用的值類型:

如需得到一個(gè)類型或一個(gè)變量在特定平臺(tái)上的準(zhǔn)確尺寸,可以使用 sizeof 方法。表達(dá)式 sizeof(type) 產(chǎn)生以字節(jié)為單位存儲(chǔ)對(duì)象或類型的存儲(chǔ)尺寸。下面舉例獲取任何機(jī)器上 int 類型的存儲(chǔ)尺寸:

實(shí)例

using System;

namespace DataTypeApplication

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Size of int: {0}", sizeof(int));

Console.ReadLine();

}

}

}

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

Size of int: 4

三、引用類型(Reference types)

*引用類型不包含存儲(chǔ)在變量中的實(shí)際數(shù)據(jù),但它們包含對(duì)變量的引用。

*換句話說,它們指的是一個(gè)內(nèi)存位置。使用多個(gè)變量時(shí),引用類型可以指向一個(gè)內(nèi)存位置。如果內(nèi)存位置的數(shù)據(jù)是由一個(gè)變量改變的,其他變量會(huì)自動(dòng)反映這種值的變化。內(nèi)置的 引用類型有:object、dynamic 和 string。

對(duì)象(Object)類型

對(duì)象(Object)類型 是 C# 通用類型系統(tǒng)(Common Type System - CTS)中所有數(shù)據(jù)類型的終極基類。Object 是 System.Object 類的別名。所以對(duì)象(Object)類型可以被分配任何其他類型(值類型、引用類型、預(yù)定義類型或用戶自定義類型)的值。但是,在分配值之前,需要先進(jìn)行類型轉(zhuǎn)換。

當(dāng)一個(gè)值類型轉(zhuǎn)換為對(duì)象類型時(shí),則被稱為 裝箱;另一方面,當(dāng)一個(gè)對(duì)象類型轉(zhuǎn)換為值類型時(shí),則被稱為 拆箱。

object obj;

obj = 100; // 這是裝箱

動(dòng)態(tài)(Dynamic)類型

您可以存儲(chǔ)任何類型的值在動(dòng)態(tài)數(shù)據(jù)類型變量中。這些變量的類型檢查是在運(yùn)行時(shí)發(fā)生的。

聲明動(dòng)態(tài)類型的語法:

dynamic <variable_name> = value;

例如:

dynamic d = 20;

動(dòng)態(tài)類型與對(duì)象類型相似,但是對(duì)象類型變量的類型檢查是在編譯時(shí)發(fā)生的,而動(dòng)態(tài)類型變量的類型檢查是在運(yùn)行時(shí)發(fā)生的。

字符串(String)類型

字符串(String)類型 允許您給變量分配任何字符串值。字符串(String)類型是 System.String 類的別名。它是從對(duì)象(Object)類型派生的。字符串(String)類型的值可以通過兩種形式進(jìn)行分配:引號(hào)和 @引號(hào)。

例如:

String str = "runoob.com";

一個(gè) @引號(hào)字符串:

@"runoob.com";

C# string 字符串的前面可以加 @(稱作"逐字字符串")將轉(zhuǎn)義字符(\)當(dāng)作普通字符對(duì)待,比如:

string str = @"C:\Windows";

等價(jià)于:

string str = "C:\\Windows";

@ 字符串中可以任意換行,換行符及縮進(jìn)空格都計(jì)算在字符串長度之內(nèi)。

string str = @"<script type=""text/javascript"">

<!--

-->

</script>";

*用戶自定義引用類型有:class、interface 或 delegate。我們將在以后的章節(jié)中討論這些類型。

四、指針類型(Pointer types)

指針類型變量存儲(chǔ)另一種類型的內(nèi)存地址。C# 中的指針與 C 或 C++ 中的指針有相同的功能。

聲明指針類型的語法:

type* identifier;

例如:

char* cptr;

int* iptr;

上一章 5.C Sharp基本語法 CSharp初學(xué)者教程最新章節(jié) 下一章 7.C Sharp 類型轉(zhuǎn)換
?