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

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

C# 字典刪除失敗

C# 字典刪除失敗

C#
qq_笑_17 2021-07-06 17:29:14
這是在 Unity 中。當(dāng)我嘗試刪除已添加到此特定詞典中的元素時,刪除失敗并且我不理解該行為。這是聲明:private Dictionary<int, EnemyControler> remainingMobs = new Dictionary<int, EnemyControler>();在某些時候,我這樣做:remainingMobs.Add(newEnemy.MobID, newEnemy);MobID 是一個 int 我每次創(chuàng)建一個新的敵人時都會增加當(dāng)敵人死亡時,在他的 Destroy() 方法中,他調(diào)用:public void EnemyDied(int someID) {    if(remainingMobs.Remove(someID)) {        print("removed "+someID);    } else {        print("Failed to remove " + someID);        DisplayRemainingMobs();    }}這是 DisplayRemainingMobs 方法:public void DisplayRemainingMobs() {    string availableKeys="";    foreach (KeyValuePair<int, EnemyControler> pair in remainingMobs){        availableKeys+= pair.Key + ", ";    }    print(remainingMobs.Keys.Count + " are available : " + availableKeys);}這就是事情出錯的地方。當(dāng)我之前調(diào)用 DisplayRemainingMobs() 時,輸出是:2 可用 : 1, 2,這完全符合預(yù)期。但是,當(dāng)我殺死我產(chǎn)生的兩個中的一個,并在字典上調(diào)用 .remove() 時,打印的輸出變?yōu)椋簞h除失敗 20 可用:我不明白為什么 .remove() 失敗,也不明白為什么失敗后沒有更多可用的密鑰。我嘗試了很多東西,包括將 int 交換為 string,認(rèn)為它可能來自那里。我無法調(diào)試它,我打印的任何內(nèi)容只告訴我它應(yīng)該可以工作。在我的測試中,數(shù)字匹配。我什至制作了一個完整的功能,我在另一本專門為此制作的字典上使用所有這些功能,可以肯定的是,一切都按預(yù)期進行。我記得它可能來自于從方法調(diào)用 remove 的事實,但是我該如何解決呢?(顯然因為聲譽低而無法標(biāo)記字典)
查看完整描述

1 回答

?
白衣染霜花

TA貢獻1796條經(jīng)驗 獲得超10個贊

問題是你從來沒有將敵人的wave領(lǐng)域設(shè)置為 wavecontroller 對象。所以它試圖從一個空的波控制器而不是實際的波控制器中移除敵人。實例化敵人時,將其波場設(shè)置為this


查看完整回答
反對 回復(fù) 2021-07-18
  • 1 回答
  • 0 關(guān)注
  • 255 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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