次の方法で共有


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

定義

Dictionary<TKey,TValue>内のキーを含むコレクションを取得します。

public:
 property System::Collections::Generic::Dictionary<TKey, TValue>::KeyCollection ^ Keys { System::Collections::Generic::Dictionary<TKey, TValue>::KeyCollection ^ get(); };
public System.Collections.Generic.Dictionary<TKey,TValue>.KeyCollection Keys { get; }
member this.Keys : System.Collections.Generic.Dictionary<'Key, 'Value>.KeyCollection
Public ReadOnly Property Keys As Dictionary(Of TKey, TValue).KeyCollection

プロパティ値

Dictionary<TKey,TValue>内のキーを含むDictionary<TKey,TValue>.KeyCollection

次のコード例は、 Keys プロパティを使用してディクショナリ内のキーを列挙する方法と、ディクショナリ内のキーと値を列挙する方法を示しています。

このコードは、コンパイルおよび実行できる大きな例の一部です (openWith はこの例で使用されているディクショナリの名前です)。 「Dictionary<TKey,TValue>」を参照してください。

// To get the keys alone, use the Keys property.
Dictionary<string, string>.KeyCollection keyColl =
    openWith.Keys;

// The elements of the KeyCollection are strongly typed
// with the type that was specified for dictionary keys.
Console.WriteLine();
foreach( string s in keyColl )
{
    Console.WriteLine("Key = {0}", s);
}
// To get the keys alone, use the Keys property.
let keyColl = openWith.Keys

// The elements of the KeyCollection are strongly typed
// with the type that was specified for dictionary keys.
printfn ""

for s in keyColl do
    printfn $"Key = {s}"
' To get the keys alone, use the Keys property.
Dim keyColl As _
    Dictionary(Of String, String).KeyCollection = _
    openWith.Keys

' The elements of the KeyCollection are strongly typed
' with the type that was specified for dictionary keys.
Console.WriteLine()
For Each s As String In  keyColl
    Console.WriteLine("Key = {0}", s)
Next s
// When you use foreach to enumerate dictionary elements,
// the elements are retrieved as KeyValuePair objects.
Console.WriteLine();
foreach( KeyValuePair<string, string> kvp in openWith )
{
    Console.WriteLine("Key = {0}, Value = {1}",
        kvp.Key, kvp.Value);
}
// When you use foreach to enumerate dictionary elements,
// the elements are retrieved as KeyValuePair objects.
printfn ""

for kvp in openWith do
    printfn $"Key = {kvp.Key}, Value = {kvp.Value}"
' When you use foreach to enumerate dictionary elements,
' the elements are retrieved as KeyValuePair objects.
Console.WriteLine()
For Each kvp As KeyValuePair(Of String, String) In openWith
    Console.WriteLine("Key = {0}, Value = {1}", _
        kvp.Key, kvp.Value)
Next kvp

注釈

Dictionary<TKey,TValue>.KeyCollection内のキーの順序は指定されていませんが、Values プロパティによって返されるDictionary<TKey,TValue>.ValueCollection内の関連する値と同じ順序です。

返された Dictionary<TKey,TValue>.KeyCollection は静的コピーではありません。代わりに、 Dictionary<TKey,TValue>.KeyCollection は元の Dictionary<TKey,TValue>のキーを参照します。 そのため、 Dictionary<TKey,TValue> への変更は引き続き Dictionary<TKey,TValue>.KeyCollectionに反映されます。

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

適用対象

こちらもご覧ください