国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在 C# 中定義一個真正只讀的 List

2019-11-17 02:58:13
字體:
來源:轉載
供稿:網友

在 C# 中定義一個真正只讀的 List

C# 中的 readonly 關鍵字表示類中的字段只允許在定義時候或者構造方法中初始化。普通類型的數據完全可以達到預期的效果,但是在對象或者列表中,要想達到只讀的效果,只用一個 readonly 關鍵字是不可以的。當你把一個 List 用 readonly 修飾,在其他類中仍然可以使用 Add,Remove 方法來改變它。但是可能你想要的只讀屬性是:只有在當前類中修改這個列表的 item,才不想被其他類做任何修改!下面這個示例就是用 readonly 關鍵字修飾的一個 List,它的內容項目仍然可以在其他類中添加或刪除:

就算封裝成只讀屬性,仍然可以在其他類中操作:

不過你可以將屬性的類型改為 IEnumerable<T> ,這樣就可以達到想要的效果。因為 IEnumerable<T> 類沒有 Add, Remove 方法,List<T> 類繼承 IEnumerable<T> 類,在 List<T> 類中新增的 Add, Remove 等方法:

如果你想創建一個完全只讀的屬性,就算在當前類中都不可以修改它的 item,你可以使用 ReadOnlyCollection<T> :

在 .NET 4.5 中,List<T> 繼承了 IReadOnlyList<T> 和 IReadOnlyCollection<T>,給了我們一種更簡單的寫法,同樣可以達到上述效果:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永胜县| 蓬莱市| 牙克石市| 任丘市| 夏邑县| 芦溪县| 东平县| 双城市| 沙湾县| 扎兰屯市| 汤阴县| 德化县| 铜川市| 永春县| 济宁市| 富阳市| 炉霍县| 松潘县| 土默特左旗| 乌兰浩特市| 乐平市| 霍林郭勒市| 福清市| 炉霍县| 恭城| 彭州市| 潜山县| 惠东县| 贵定县| 嘉禾县| 秦皇岛市| 浪卡子县| 富蕴县| 天台县| 德清县| 宁城县| 若尔盖县| 太仆寺旗| 松溪县| 灯塔市| 兖州市|