這篇文章主要講解了“C# ObservableCollection和List的區(qū)別是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C# ObservableCollection和List的區(qū)別是什么”吧!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了古浪免費(fèi)建站歡迎大家使用!
一、ObservableCollection和List的區(qū)別
1)ObservableCollection比較簡單,繼承了Collection, INotifyCollectionChanged, INotifyPropertyChanged
Collection:為泛型集合提供基類。
INotifyCollectionChanged:將集合的動(dòng)態(tài)更改通知給偵聽器,例如,何時(shí)添加和移除項(xiàng)或者重置整個(gè)集合對(duì)象。
INotifyPropertyChanged:向客戶端發(fā)出某一屬性值已更改的通知。
所以再ObservableCollection這個(gè)類的方法,對(duì)數(shù)據(jù)的操作很少,重點(diǎn)放在了當(dāng)自己本事變化的時(shí)候(不管是屬性,還是集合)會(huì)調(diào)用發(fā)出通知的事件。(一般用于更新UI,當(dāng)然也可以用于寫其他的事情。這個(gè)以后會(huì)寫)
2)List就比較多了,繼承了IList, ICollection, IEnumerable, IList, ICollection, IEnumerable。
IList:表示可按照索引單獨(dú)訪問的一組對(duì)象。
ICollection:定義操作泛型集合的方法。
IEnumerable:公開枚舉器,該枚舉器支持在指定類型的集合上進(jìn)行簡單迭代。
IList:表示可按照索引單獨(dú)訪問的對(duì)象的非泛型集合。
ICollection:定義所有非泛型集合的大小、枚舉器和同步方法。
IEnumerable:公開枚舉器,該枚舉器支持在非泛型集合上進(jìn)行簡單迭代。
二、舉例:
1、舉例1:
MainWindow.xaml: