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

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

hashCode的作用是什么?它獨(dú)特嗎?

hashCode的作用是什么?它獨(dú)特嗎?

C#
慕斯709654 2019-11-25 15:20:04
我注意到getHashCode()WP7中的每個(gè)控件,項(xiàng)目都有一個(gè)方法,該方法返回一個(gè)數(shù)字序列。我可以使用此哈希碼來(lái)識(shí)別商品嗎?例如,我想識(shí)別設(shè)備中的圖片或歌曲,并檢查其位置。如果為特定項(xiàng)目指定的哈希碼是唯一的,則可以執(zhí)行此操作。您能幫我解釋一下hashCode及其getHashCode()用途嗎?
查看完整描述

3 回答

?
達(dá)令說(shuō)

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

MSDN說(shuō):


哈希碼是一個(gè)數(shù)值,用于在相等性測(cè)試期間標(biāo)識(shí)對(duì)象。它也可以用作集合中對(duì)象的索引。


GetHashCode方法適用于哈希算法和數(shù)據(jù)結(jié)構(gòu)(例如哈希表)。


GetHashCode方法的默認(rèn)實(shí)現(xiàn)不能保證不同對(duì)象的唯一返回值。此外,.NET Framework不保證GetHashCode方法的默認(rèn)實(shí)現(xiàn),并且它返回的值在.NET Framework的不同版本之間將相同。因此,此方法的默認(rèn)實(shí)現(xiàn)不得用作哈希目的的唯一對(duì)象標(biāo)識(shí)符。


GetHashCode方法可以被派生類(lèi)型覆蓋。值類(lèi)型必須重寫(xiě)此方法,以提供適用于該類(lèi)型的哈希函數(shù)并在哈希表中提供有用的分布。為了唯一,哈希碼必須基于實(shí)例字段或?qū)傩缘闹?,而不是靜態(tài)字段或?qū)傩浴?/p>


在Hashtable對(duì)象中用作鍵的對(duì)象還必須重寫(xiě)GetHashCode方法,因?yàn)檫@些對(duì)象必須生成自己的哈希碼。如果用作鍵的對(duì)象不能提供GetHashCode的有用實(shí)現(xiàn),則可以在構(gòu)造Hashtable對(duì)象時(shí)指定哈希碼提供程序。在.NET Framework 2.0版之前,哈希碼提供程序基于System.Collections.IHashCodeProvider接口。從2.0版開(kāi)始,哈希碼提供程序基于System.Collections.IEqualityComparer接口。


基本上,存在哈希碼以使哈希表成為可能。

保證兩個(gè)相等的對(duì)象具有相等的哈希碼。不保證

兩個(gè)不相等的對(duì)象具有不相等的哈希碼(稱(chēng)為沖突)。


查看完整回答
反對(duì) 回復(fù) 2019-11-25
?
犯罪嫌疑人X

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

GetHashCode()用于幫助支持將對(duì)象用作哈希表的鍵。(Java等中也存在類(lèi)似的東西)。目標(biāo)是讓每個(gè)對(duì)象都返回不同的哈希碼,但這通常不能絕對(duì)保證。這是必需的,雖然這兩個(gè)邏輯上相等的對(duì)象返回相同的散列碼。

典型的哈希表實(shí)現(xiàn)從hashCode值開(kāi)始,采用模數(shù)(因此將值限制在一個(gè)范圍內(nèi)),并將其用作“存儲(chǔ)桶”數(shù)組的索引。


查看完整回答
反對(duì) 回復(fù) 2019-11-25
  • 3 回答
  • 0 關(guān)注
  • 515 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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