OrderedDictionary.IsReadOnly属性用于获取一个值,该值指示OrderedDictionary集合是否为只读。
句法 :
public bool IsReadOnly { get; }
返回值:如果OrderedDictionary集合是只读的,则此属性返回True ,否则返回False 。默认值为False 。
下面给出了一些示例,以更好地理解实现:
范例1:
// C# code to check if OrderedDictionary
// collection is read-only
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver method
public static void Main()
{
// Creating a orderedDictionary named myDict
OrderedDictionary myDict = new OrderedDictionary();
// Adding key and value in myDict
myDict.Add("key1", "value1");
myDict.Add("key2", "value2");
myDict.Add("key3", "value3");
myDict.Add("key4", "value4");
myDict.Add("key5", "value5");
// Checking if OrderedDictionary
// collection is read-only
Console.WriteLine(myDict.IsReadOnly);
}
}
输出:
False
范例2:
// C# code to check if OrderedDictionary
// collection is read-only
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver method
public static void Main()
{
// Creating a orderedDictionary named myDict
OrderedDictionary myDict = new OrderedDictionary();
// Adding key and value in myDict
myDict.Add("A", "Apple");
myDict.Add("B", "Banana");
myDict.Add("C", "Cat");
myDict.Add("D", "Dog");
// Checking if OrderedDictionary
// collection is read-only
// if not, insert a new key in beginning
// of myDict
if (!myDict.IsReadOnly)
myDict.Insert(0, "E", "Elephant");
// Displaying the elements in myDict
foreach(DictionaryEntry de in myDict)
Console.WriteLine(de.Key + " -- " + de.Value);
}
}
输出:
E -- Elephant
A -- Apple
B -- Banana
C -- Cat
D -- Dog
笔记:
- 创建只读集合后,不允许添加,删除或修改元素。
- 只读的集合只是一个带有包装程序的集合,该包装程序可防止对该集合进行修改。因此,如果对基础集合进行了更改,则只读集合将反映这些更改。
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.specialized.ordereddictionary.isreadonly?view=netframework-4.7.2