欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中List.Contains(T)失效的解決方法

 更新時(shí)間:2024年03月05日 15:38:12   作者:天下濕濕  
這篇文章主要介紹了C#中List.Contains(T)失效的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

list.Contains() “失效“ ???

     public void RemoveCustomMaterialInfo(MaterialInfo info)
        {
            if (m_MaterialList == null)
            {
                return;
            }

            if (m_MaterialList.Contain(info))
            {
                m_MaterialList.Remove(info);
                Debug.Log($"刪除 :info: {info.serial}, {info.serial}, {info.velocity},{info.note}, left : {this.m_MaterialList.Count}");

                //存儲(chǔ)本地
                //var content = JsonUtility.ToJson(this.m_MaterialList);
                var content = JsonConvert.SerializeObject(GetMaterialInfoListBySerial("自定義"));
                File.WriteAllTextAsync(MaterialCustomConfigPath, content);
            }
        }

習(xí)慣了這么用,卻不小心踩坑

List.Contains(T t) t必須是原來(lái)列表中的引用才有效,如果info是你new出來(lái)的,不好意思,不起做用了,包括Remove也是如此

===》處理辦法:

       private bool Contain(MaterialInfo materialInfo)
        {
            if (this.m_MaterialList == null)
            {
                return false;
            }

            return m_MaterialList.Exists(
                info => info.serial.Equals(materialInfo.serial) && info.type.Equals(materialInfo.type)
                                                                && info.velocity.Equals(materialInfo.velocity)
                                                                && info.note.Equals(materialInfo.note));
        }

到此這篇關(guān)于C#中List.Contains(T)失效的文章就介紹到這了,更多相關(guān)C# List.Contains(T)失效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

最新評(píng)論