📌  相关文章
📜  C#|获取一个包含HybridDictionary中的值的ICollection

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

HybridDictionary.Values属性用于获取包含HybridDictionary中的值的ICollection。

句法:

public System.Collections.ICollection Values { get; }

返回值:返回一个ICollection,其中包含HybridDictionary中的值。

下面的程序说明了HybridDictionary.Values属性的用法:

范例1:

// C# code to get an ICollection containing
// the values in the HybridDictionary.
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a HybridDictionary named myDict
        HybridDictionary myDict = new HybridDictionary();
  
        // Adding key/value pairs in myDict
        myDict.Add("A", "Apple");
        myDict.Add("B", "Banana");
        myDict.Add("C", "Cat");
        myDict.Add("D", "Dog");
        myDict.Add("E", "Elephant");
        myDict.Add("F", "Fish");
  
        // Creating a String arr named myArr
        String[] myArr = new String[myDict.Count];
  
        // copying the Values in HybridDictionary
        // to a one-dimensional Array instance
        // at the specified index.
        myDict.Values.CopyTo(myArr, 0);
  
        // To get an ICollection containing
        // the Values in the HybridDictionary
        for (int i = 0; i < myDict.Count; i++)
            Console.WriteLine(myArr[i]);
    }
}

输出:

Apple
Banana
Cat
Dog
Elephant
Fish

范例2:

// C# code to get an ICollection containing
// the values in the HybridDictionary.
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a HybridDictionary named myDict
        HybridDictionary myDict = new HybridDictionary();
  
        // Adding key/value pairs in myDict
        myDict.Add("I", "first");
        myDict.Add("II", "second");
        myDict.Add("III", "third");
        myDict.Add("IV", "fourth");
        myDict.Add("V", "fifth");
  
        // Creating a String arr named myArr
        String[] myArr = new String[myDict.Count];
  
        // copying the Values in HybridDictionary
        // to a one-dimensional Array instance
        // at the specified index.
        myDict.Values.CopyTo(myArr, 0);
  
        // To get an ICollection containing
        // the Values in the HybridDictionary
        for (int i = 0; i < myDict.Count; i++)
            Console.WriteLine(myArr[i]);
    }
}

输出:

first
second
third
fourth
fifth

笔记:

  • ICollection中值的顺序未指定,但与Keys方法返回的ICollection中的关联键相同。
  • 返回的ICollection不是静态副本。而是,ICollection引用了原始HybridDictionary中的值。因此,对HybridDictionary的更改将继续反映在ICollection中。
  • 检索此属性的值是O(1)操作。

参考:

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