📜  C#|检查OrderedDictionary集合是否为只读

📅  最后修改于: 2021-05-29 23:03:38             🧑  作者: Mango

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