久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > gethashcode詳解

gethashcode詳解

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-22 10:54:45 1700621685

一、gethashcode返回類型

gethashcode是object基類的一個(gè)虛方法,它的返回類型是一個(gè)整數(shù)(int)。因此,gethashcode返回的是一個(gè)32位有符號整數(shù),它可能是負(fù)數(shù)。

根據(jù)文檔介紹,返回的整數(shù)具有以下性質(zhì):

如果兩個(gè)對象相同,則它們的哈希碼必須相同。 如果兩個(gè)對象不同,則它們的哈希碼不一定不同。

也就是說,如果兩個(gè)對象的哈希碼不同,則這兩個(gè)對象一定不同;但是,如果兩個(gè)對象的哈希碼相同,則它們不一定相同。

二、gethashcode返回值

gethashcode的返回值是對象在內(nèi)存中的地址經(jīng)過計(jì)算得出的一個(gè)整數(shù)值。因此,返回值是不確定的,取決于對象在內(nèi)存中的分配位置。


public override int GetHashCode()
{
    return RuntimeHelpers.GetHashCode(this);
}

三、gethashcode的作用

gethashcode方法主要用于Hashtable、Dictionary、HashSet等集合類中。

在這些集合類中,數(shù)據(jù)的存儲和查找都是通過哈希表來實(shí)現(xiàn)的。哈希表首先根據(jù)對象的哈希碼計(jì)算出該對象在哈希表中的位置,然后再在該位置上進(jìn)行存儲或查找。

如果不重寫gethashcode方法,那么每個(gè)對象的哈希碼都不同,這樣就會導(dǎo)致哈希表的性能下降,因?yàn)樗枰闅v整個(gè)哈希表來查找對象。

所以,重寫gethashcode方法并保證它符合上述兩個(gè)性質(zhì),可以提高哈希表的性能。

四、gethashcode怎么讀

gethashcode的讀音為“獲得哈希碼”或“獲取哈希碼”。

五、gethashcode gameobject 轉(zhuǎn)換

對于Unity3D中的游戲?qū)ο螅℅ameObject),可以使用gethashcode方法將其轉(zhuǎn)換為一個(gè)唯一的整數(shù)值。

由于游戲?qū)ο笤趫鼍爸惺俏ㄒ坏模虼丝梢允褂盟鼈兊拿Q或標(biāo)識符來生成哈希碼。


public static int GetGameObjectHashCode(GameObject obj)
{
    return obj.name.GetHashCode();
}

// Usage:
int hashCode = GetGameObjectHashCode(gameObject);

六、gethashcode gameobject 獲取

通過調(diào)用gethashcode方法,可以獲取游戲?qū)ο笤诠1碇械奈恢谩?/p>


Hashtable table = new Hashtable();
table.Add(gameObject.GetHashCode(), gameObject);
GameObject obj = (GameObject)table[gameObject.GetHashCode()];

七、gethashcode返回值類型

gethashcode返回的是一個(gè)32位有符號整數(shù)類型(int)。

此外,由于哈希碼可能為負(fù)數(shù),因此在比較哈希碼時(shí)需要使用絕對值或轉(zhuǎn)換為無符號整數(shù)類型。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT