C# 中的 IReadOnlyDictionary 和 IReadOnlyList實例詳解
C# 中的 IReadOnlyDictionary
和 IReadOnlyList
是接口,用于表示只讀的字典和只讀的列表。這些接口提供了對集合的只讀訪問權(quán)限,即不允許對集合進行修改操作,例如添加、刪除或修改元素。這種只讀特性對于需要保護數(shù)據(jù)完整性或只需要進行讀取操作的場景非常有用。
- 1.IReadOnlyDictionary<TKey, TValue>:
- IReadOnlyDictionary<TKey, TValue> 接口表示只讀的鍵值對字典。它繼承自 IEnumerable<KeyValuePair<TKey, TValue>> 接口,因此可以像遍歷字典一樣遍歷只讀字典中的鍵值對。
- IReadOnlyDictionary<TKey, TValue> 提供了一組只讀的屬性和方法,例如 Count 屬性用于獲取字典中鍵值對的數(shù)量,Keys 屬性用于獲取只讀的鍵的集合,Values 屬性用于獲取只讀的值的集合,ContainsKey() 方法用于檢查字典中是否包含指定的鍵,以及 TryGetValue() 方法用于根據(jù)鍵獲取對應(yīng)的值。
- 示例:
IReadOnlyDictionary<string, int> dictionary = new Dictionary<string, int>() { { "Apple", 1 }, { "Banana", 2 }, { "Orange", 3 } }; Console.WriteLine(dictionary["Apple"]); // 輸出: 1 // 遍歷只讀字典的鍵值對 foreach (var kvp in dictionary) { Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}"); }
- 2.IReadOnlyList<T>:
- IReadOnlyList<T> 接口表示只讀的元素列表。它繼承自 IEnumerable<T> 接口,因此可以使用迭代器遍歷只讀列表。
- IReadOnlyList<T> 提供了一組只讀的屬性和方法,例如 Count 屬性用于獲取列表中的元素數(shù)量,Item[] 屬性用于通過索引訪問列表中的元素,Contains() 方法用于檢查列表中是否包含指定的元素,IndexOf() 方法用于獲取指定元素在列表中的索引位置。
- 示例:
IReadOnlyList<string> list = new List<string>() { "Apple", "Banana", "Orange" }; Console.WriteLine(list[0]); // 輸出: Apple // 遍歷只讀列表 foreach (var item in list) { Console.WriteLine(item); }
需要注意的是,IReadOnlyDictionary
和 IReadOnlyList
接口只提供了對集合的只讀訪問權(quán)限,不允許對集合進行修改操作。如果需要對集合進行修改操作,可以使用 Dictionary<TKey, TValue>
和 List<T>
類。
到此這篇關(guān)于C# 中的 IReadOnlyDictionary 和 IReadOnlyList的文章就介紹到這了,更多相關(guān)C# IReadOnlyDictionary 和 IReadOnlyList內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#使用Enum.TryParse()實現(xiàn)枚舉安全轉(zhuǎn)換
這篇文章介紹了C#使用Enum.TryParse()實現(xiàn)枚舉安全轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08C#使用log4net結(jié)合sqlite數(shù)據(jù)庫實現(xiàn)記錄日志
因為結(jié)構(gòu)化的數(shù)據(jù)庫存儲的日志信息,可以寫專門的軟件讀取歷史日志信息,通過各種條件篩選,可操作性極大增強,有這方面需求的開發(fā)人員可以考慮,本文給大家介紹了C#使用log4net結(jié)合sqlite數(shù)據(jù)庫記錄日志,需要的朋友可以參考下2024-10-10DevExpress獲取節(jié)點下可視區(qū)域子節(jié)點集合的實現(xiàn)方法
這篇文章主要介紹了DevExpress獲取節(jié)點下可視區(qū)域子節(jié)點集合的實現(xiàn)方法,是C#程序設(shè)計中較為常見的技巧,需要的朋友可以參考下2014-08-08C#實現(xiàn)Excel轉(zhuǎn)PDF時設(shè)置內(nèi)容適應(yīng)頁面寬度
將Excel轉(zhuǎn)為PDF格式時,通常情況下轉(zhuǎn)換出來的PDF頁面都是默認的寬度大小。所以本文提供了C#實現(xiàn)Excel轉(zhuǎn)PDF時設(shè)置內(nèi)容適應(yīng)頁面寬度的示例代碼,需要的可以參考一下2022-04-04Entity?Framework映射TPH、TPT、TPC與繼承類
這篇文章介紹了Entity?Framework映射TPH、TPT、TPC與繼承類,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06C#中枚舉類型和radiobox關(guān)聯(lián)操作的方法
這篇文章主要介紹了C#中枚舉類型和radiobox關(guān)聯(lián)操作的方法,實例分析了C#中枚舉類型及與控件關(guān)聯(lián)操作的相關(guān)技巧,需要的朋友可以參考下2015-04-04