Dictionary<TKey,TValue>.IDictionary.Keys Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een ICollection met de sleutels van de 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
Waarde van eigenschap
Een ICollection met de sleutels van de IDictionary.
Implementeringen
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de IDictionary.Keys eigenschap van de System.Collections.IDictionary interface gebruikt met een Dictionary<TKey,TValue>, om de sleutels in de woordenlijst weer te geven. In het voorbeeld ziet u ook hoe u de sleutel-/waardeparen in de woordenlijst opsommen; Houd er rekening mee dat de enumerator voor de System.Collections.IDictionary interface objecten retourneert DictionaryEntry in plaats KeyValuePair<TKey,TValue> van objecten.
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");
// To get the keys alone, use the Keys property.
ICollection 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 = {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 = {de.Key}, Value = {de.Value}");
}
}
}
open System
open System.Collections
open System.Collections.Generic
// Create a new dictionary of strings, with string keys,
// and access it using the IDictionary interface.
let openWith: IDictionary = 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")
// To get the keys alone, use the Keys property.
let icoll2: ICollection = 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.
printfn ""
for s in icoll2 do
printfn $"Key = {s}"
// When you use foreach to enumerate dictionary elements
// with the IDictionary interface, the elements are retrieved
// as DictionaryEntry objects instead of KeyValuePair objects.
printfn ""
for de in openWith do
let de = de :?> DictionaryEntry
printfn $"For key = {de.Key}, value = {de.Value}"
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.
Dim icoll As ICollection = 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()
For Each de As DictionaryEntry In openWith
Console.WriteLine("Key = {0}, Value = {1}", _
de.Key, de.Value)
Next
End Sub
End Class
Opmerkingen
De volgorde van de sleutels in de geretourneerde ICollection is niet opgegeven, maar het is gegarandeerd dezelfde volgorde als de bijbehorende waarden in de ICollection geretourneerde Values eigenschap.
Het ophalen van de waarde van deze eigenschap is een O(1)-bewerking.