第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

c#中值類型和引用類型的區(qū)別

c#中值類型和引用類型的區(qū)別

C#
素胚勾勒不出你 2019-03-15 11:10:27
c#中值類型和引用類型的區(qū)別
查看完整描述

3 回答

?
桃花長相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

1、速度上的區(qū)別

值類型存取速度快,引用類型存取速度慢。

2、用途上的區(qū)別

值類型表示實(shí)際數(shù)據(jù),引用類型表示指向存儲在內(nèi)存堆中的數(shù)據(jù)的指針或引用。

3、來源上的區(qū)別

值類型繼承自System.ValueType,引用類型繼承自System.Object

4、位置上的區(qū)別

值類型的數(shù)據(jù)存儲在內(nèi)存的棧中,引用類型的數(shù)據(jù)存儲在內(nèi)存的堆中,而內(nèi)存單元中只存放堆中對象的地址。

5、類型上的區(qū)別

值類型的變量直接存放實(shí)際的數(shù)據(jù),而引用類型的變量存放的則是數(shù)據(jù)的地址,即對象的引用。

6、保存位置上的區(qū)別

值類型變量直接把變量的值保存在堆棧中,引用類型的變量把實(shí)際數(shù)據(jù)的地址保存在堆棧中,而實(shí)際數(shù)據(jù)則保存在堆中。

例如:

字符串類型,而堆棧則用于存儲固定長度的數(shù)據(jù),如整型類型的數(shù)據(jù)int(每個(gè)int變量占用四個(gè)字節(jié))。

數(shù)據(jù)存儲的位置可以得知,當(dāng)把一個(gè)值變量賦給另一個(gè)值變量時(shí),會在堆棧中保存兩個(gè)完全相同的值;而把一個(gè)引用變量賦給另一個(gè)引用變量,則會在堆棧中保存對同一個(gè)堆位置的兩個(gè)引用,即在堆棧中保存的是同一個(gè)堆的地址。

在進(jìn)行數(shù)據(jù)操作時(shí),對于值類型,由于每個(gè)變量都有自己的值,因此對一個(gè)變量的操作不會影響到其它變量;對于引用類型的變量,對一個(gè)變量的數(shù)據(jù)進(jìn)行操作就是對這個(gè)變量在堆中的數(shù)據(jù)進(jìn)行操作,

如果兩個(gè)引用類型的變量引用同一個(gè)對象,實(shí)際含義就是它們在堆棧中保存的堆的地址相同,因此對一個(gè)變量的操作就會影響到引用同一個(gè)對象的另一個(gè)變量。




查看完整回答
反對 回復(fù) 2019-03-19
?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

不知道你學(xué)過C沒有,演過C的話就很好理解這個(gè)問題,引用相當(dāng)于你在C里面使用指針,
如:寫一個(gè)函數(shù)的時(shí)候
public int fuction1(ref int a,ret int b)
{
a=2 ,b=3
......}

public static main()
{
int a=1,b=2
function1(ref int a ,ref int b)
}

當(dāng)你在function1中間把a(bǔ),b變量的值改變后,main函數(shù)里面的a,b 值也就改變了
成了a=2,b=3了


 


查看完整回答
反對 回復(fù) 2019-03-19
  • 3 回答
  • 0 關(guān)注
  • 573 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號