C#中List.Contains(T)失效的解決方法
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)文章
C#使用Dynamic實(shí)現(xiàn)簡(jiǎn)化反射
這篇文章主要為大家詳細(xì)介紹了C#如何使用Dynamic來(lái)實(shí)現(xiàn)簡(jiǎn)化反射,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-07-07基于Kubernetes實(shí)現(xiàn)前后端應(yīng)用的金絲雀發(fā)布(兩種方案)
這篇文章主要介紹了基于Kubernetes實(shí)現(xiàn)前后端應(yīng)用的金絲雀發(fā)布,文中給大家提到了兩種常用方案,通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12c#判斷數(shù)據(jù)庫(kù)服務(wù)器是否已經(jīng)啟動(dòng)的方法
這篇文章主要介紹了使用c#判斷數(shù)據(jù)庫(kù)服務(wù)器是否已經(jīng)啟動(dòng)的方法,大家參考使用吧2014-01-01c#使用filesystemwatcher監(jiān)視文件系統(tǒng)的變化
對(duì)于一個(gè)文件夾的改變,C#這邊有自己的類來(lái)實(shí)現(xiàn),我們不需要關(guān)心它的內(nèi)部實(shí)現(xiàn)機(jī)制,不需要關(guān)心它底層調(diào)用哪些API,我們只需要關(guān)心如何去調(diào)用它,如何讓它幫助我們記錄文件夾的修改情況即可,下面我們就實(shí)現(xiàn)它2014-01-01c#實(shí)現(xiàn)數(shù)據(jù)同步的方法(使用文件監(jiān)控對(duì)象filesystemwatcher)
這篇文章主要介紹了C#使用文件監(jiān)控對(duì)象FileSystemWatcher實(shí)現(xiàn)數(shù)據(jù)同步,大家參考使用吧2013-12-12Unity UGUI的RectMask2D遮罩組件的介紹使用
這篇文章主要為大家介紹了Unity UGUI的RectMask2D遮罩組件的介紹使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07WinForm開發(fā)中屏蔽WebBrowser腳本錯(cuò)誤提示的方法
這篇文章主要介紹了WinForm開發(fā)中屏蔽WebBrowser腳本錯(cuò)誤提示的方法,在C#項(xiàng)目開發(fā)中比較實(shí)用,需要的朋友可以參考下2014-08-08