次の方法で共有


Dictionary<TKey,TValue>.IDictionary.Keys プロパティ

定義

ICollection のキーを保持している IDictionary を取得します。

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

プロパティ値

ICollection のキーを保持している IDictionary

実装

次のコード例では、 インターフェイスの System.Collections.IDictionary プロパティを IDictionary.Keys と共Dictionary<TKey,TValue>に使用して、ディクショナリ内のキーを一覧表示する方法を示します。 この例では、ディクショナリ内のキーと値のペアを列挙する方法も示しています。インターフェイスの列挙子System.Collections.IDictionaryは、 オブジェクトではなくKeyValuePair<TKey,TValue>オブジェクトをDictionaryEntry返します。

コード例は、 メソッドに対して提供される出力を含む、より大きな例の IDictionary.Add 一部です。

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 keys alone, use the Keys property.
icoll = openWith.Keys;

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

' The elements of the collection are strongly typed
' with the type that was specified for dictionary keys,
' even though the ICollection interface is not strongly
' typed.
Console.WriteLine()
For Each s As String In  icoll
    Console.WriteLine("Key = {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 内のキーの順序は指定されていませんが、 プロパティによってValues返される 内ICollectionの対応する値と同じ順序であることが保証されます。

このプロパティの値の取得は O(1) 操作です。

適用対象

こちらもご覧ください