Dictionary<TKey,TValue>.IDictionary.Values 属性

定义

获取一个 ICollection,它包含 IDictionary 中的值。Gets an ICollection containing the values in the IDictionary.

property System::Collections::ICollection ^ System::Collections::IDictionary::Values { System::Collections::ICollection ^ get(); };
System.Collections.ICollection System.Collections.IDictionary.Values { get; }
System.Collections.IDictionary.Values
 ReadOnly Property Values As ICollection Implements IDictionary.Values

属性值

一个 ICollection,它包含 IDictionary 中的值。An ICollection containing the values in the IDictionary.

实现

示例

下面的代码示例演示如何使用具有 Dictionary<TKey,TValue>System.Collections.IDictionary 接口的 IDictionary.Values 属性,以列出字典中的值。The following code example shows how to use the IDictionary.Values property of the System.Collections.IDictionary interface with a Dictionary<TKey,TValue>, to list the values in the dictionary. 该示例还演示如何枚举字典中的键/值对;请注意,System.Collections.IDictionary 接口的枚举器将返回 DictionaryEntry 对象,而不是 KeyValuePair<TKey,TValue> 对象。The example also shows how to enumerate the key/value pairs in the dictionary; note that the enumerator for the System.Collections.IDictionary interface returns DictionaryEntry objects rather than KeyValuePair<TKey,TValue> objects.

此代码示例是为 IDictionary.Add 方法提供的更大示例的一部分,包括输出。The code example is part of a larger example, including output, provided for the IDictionary.Add method.

using System;
using System.Collections;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new dictionary of strings, with string keys,
        // and access it using the IDictionary interface.
        //
        IDictionary openWith = new Dictionary<string, string>();

        // Add some elements to the dictionary. There are no 
        // duplicate keys, but some of the values are duplicates.
        // IDictionary.Add throws an exception if incorrect types
        // are supplied for key or value.
        openWith.Add("txt", "notepad.exe");
        openWith.Add("bmp", "paint.exe");
        openWith.Add("dib", "paint.exe");
        openWith.Add("rtf", "wordpad.exe");
Imports System.Collections
Imports System.Collections.Generic

Public Class Example
    
    Public Shared Sub Main() 

        ' Create a new dictionary of strings, with string keys,
        ' and access it using the IDictionary interface.
        '
        Dim openWith As IDictionary = _
            New Dictionary(Of String, String)
        
        ' Add some elements to the dictionary. There are no 
        ' duplicate keys, but some of the values are duplicates.
        ' IDictionary.Add throws an exception if incorrect types
        ' are supplied for key or value.
        openWith.Add("txt", "notepad.exe")
        openWith.Add("bmp", "paint.exe")
        openWith.Add("dib", "paint.exe")
        openWith.Add("rtf", "wordpad.exe")
// To get the values alone, use the Values property.
ICollection icoll = openWith.Values;

// The elements of the collection are strongly typed
// with the type that was specified for dictionary values,
// even though the ICollection interface is not strongly
// typed.
Console.WriteLine();
foreach( string s in icoll )
{
    Console.WriteLine("Value = {0}", s);
}
' To get the values alone, use the Values property.
Dim icoll As ICollection = openWith.Values

' The elements of the collection are strongly typed
' with the type that was specified for dictionary values,
' even though the ICollection interface is not strongly
' typed.
Console.WriteLine()
For Each s As String In  icoll
    Console.WriteLine("Value = {0}", s)
Next s
// When you use foreach to enumerate dictionary elements
// with the IDictionary interface, the elements are retrieved
// as DictionaryEntry objects instead of KeyValuePair objects.
Console.WriteLine();
foreach( DictionaryEntry de in openWith )
{
    Console.WriteLine("Key = {0}, Value = {1}", 
        de.Key, de.Value);
}
' When you use foreach to enumerate dictionary elements
' with the IDictionary interface, the elements are retrieved
' as DictionaryEntry objects instead of KeyValuePair objects.
Console.WriteLine()
For Each de As DictionaryEntry In openWith
    Console.WriteLine("Key = {0}, Value = {1}", _
        de.Key, de.Value)
Next 
    }
}

    End Sub

End Class

注解

返回的 ICollection 中的值的顺序未指定,但保证其顺序与 Keys 属性返回的 ICollection 中的相应键的顺序相同。The order of the values in the returned ICollection is unspecified, but it is guaranteed to be the same order as the corresponding keys in the ICollection returned by the Keys property.

获取此属性的值的运算复杂度为 O (1)。Getting the value of this property is an O(1) operation.

适用于

另请参阅