📜  C#|检查SortedList对象是否同步

📅  最后修改于: 2021-05-29 16:48:37             🧑  作者: Mango

SortedList类是根据键对(键,值)对进行排序的集合。可以通过键和索引(从零开始的索引)访问这些对。它位于System.Collections命名空间下。 SortedList.IsSynchronized属性用于获取一个值,该值指示是否已同步对SortedList对象的访问(线程安全)。

特性:

  • 可以通过其键或索引来访问SortedList元素。
  • SortedList对象在内部维护两个数组来存储列表的元素,即,一个数组用于键,另一个数组用于关联的值。
  • 键不能为null,但值可以为null。
  • SortedList对象的容量是SortedList可以容纳的元素数。
  • SortedList不允许重复的键。
  • 由于排序,对SortedList对象的操作往往比对Hashtable对象的操作要慢。
  • 可以使用整数索引访问此集合中的元素。此集合中的索引从零开始。

句法:

public virtual bool IsSynchronized { get; }

返回值:如果访问排序列表对象是同步的(线程安全),否则该方法返回false此方法返回true。默认值为False

下面的程序说明了SortedList.IsSynchronized属性的用法:

范例1:

// C# code to check if a SortedList
// object is synchronized (thread safe)
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an SortedList
        SortedList mySortedList = new SortedList();
  
        // Checking if a SortedList object
        // is synchronized (thread safe) or not
        Console.WriteLine(mySortedList.IsSynchronized);
    }
}
输出:
False

范例2:

// C# code to check if a SortedList
// object is synchronized (thread safe)
using System;
using System.Collections;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating an SortedList
        SortedList mySortedList = new SortedList();
  
        // Adding elements to SortedList
        mySortedList.Add("1", "one");
        mySortedList.Add("2", "two");
        mySortedList.Add("3", "three");
        mySortedList.Add("4", "four");
        mySortedList.Add("5", "five");
  
        // Creating a synchronized wrapper
        // around the SortedList.
        SortedList mySortedList_1 = SortedList.Synchronized(mySortedList);
  
        // Checking if a SortedList object
        // is synchronized (thread safe) or not
        Console.WriteLine(mySortedList_1.IsSynchronized);
    }
}
输出:
True

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.sortedlist.issynchronized?view=netframework-4.7.2