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

定義

並べ替えられた順序で、SortedList<TKey,TValue> 内のキーを含むコレクションを取得します。

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

プロパティ値

IList<TKey>

IList<T> 内のキーを格納している SortedList<TKey,TValue>

次のコード例は、 プロパティを使用して並べ替えリスト内のキーを列挙する方法と、並べ替えたリスト内のキーと値を列挙する方法 Keys を示しています。

この例では、 プロパティを使用して、インデックス付きキーを Keys 効率的に取得する方法も示します。

このコードは、コンパイルして実行できるより大きな例の一部です。 以下を参照してください。SortedList<TKey,TValue>

// To get the keys alone, use the Keys property.
IList<String^>^ ilistKeys = openWith->Keys;

// The elements of the list are strongly typed with the
// type that was specified for the SortedList keys.
Console::WriteLine();
for each( String^ s in ilistKeys )
{
    Console::WriteLine("Key = {0}", s);
}

// The Keys property is an efficient way to retrieve
// keys by index.
Console::WriteLine("\nIndexed retrieval using the Keys " +
    "property: Keys[2] = {0}", openWith->Keys[2]);
// To get the keys alone, use the Keys property.
IList<string> ilistKeys = openWith.Keys;

// The elements of the list are strongly typed with the
// type that was specified for the SortedList keys.
Console.WriteLine();
foreach( string s in ilistKeys )
{
    Console.WriteLine("Key = {0}", s);
}

// The Keys property is an efficient way to retrieve
// keys by index.
Console.WriteLine("\nIndexed retrieval using the Keys " +
    "property: Keys[2] = {0}", openWith.Keys[2]);
' To get the keys alone, use the Keys property.
Dim ilistKeys As IList(Of String) = openWith.Keys

' The elements of the list are strongly typed with the
' type that was specified for the SortedList keys.
Console.WriteLine()
For Each s As String In ilistKeys 
    Console.WriteLine("Key = {0}", s)
Next s

' The Keys property is an efficient way to retrieve
' keys by index.
Console.WriteLine(vbLf & "Indexed retrieval using the " & _
    "Keys property: Keys(2) = {0}", openWith.Keys(2))
// When you use foreach to enumerate list elements,
// the elements are retrieved as KeyValuePair objects.
Console::WriteLine();
for each( KeyValuePair<String^, String^> kvp in openWith )
{
    Console::WriteLine("Key = {0}, Value = {1}",
        kvp.Key, kvp.Value);
}
// When you use foreach to enumerate list 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 list 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

注釈

内のキーの順序 IList<T> は、 の順序と同じです SortedList<TKey,TValue>

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

プロパティによって返されるコレクションは Keys 、インデックスによってキーを取得する効率的な方法を提供します。 プロパティにアクセスするときにリストを再生成する必要はありません。リストはキーの内部配列のラッパーにすすむためです。 次のコードは、 プロパティを使用して、文字列キーを持つ要素の並べ替えされたリストからキーをインデックス化して取得 Keys する方法を示しています。

String^ v = mySortedList->Values[3];
string v = mySortedList.Values[3];
Dim v As String = mySortedList.Values(3)

このプロパティ値を取得することは、O(1) 操作になります。

適用対象

こちらもご覧ください