SortedList.GetKeyList 方法

定义

获取 SortedList 对象中的键。Gets the keys in a SortedList object.

public:
 virtual System::Collections::IList ^ GetKeyList();
public virtual System.Collections.IList GetKeyList ();
abstract member GetKeyList : unit -> System.Collections.IList
override this.GetKeyList : unit -> System.Collections.IList
Public Overridable Function GetKeyList () As IList

返回

包含 IList 对象中的键的 SortedList 对象。An IList object containing the keys in the SortedList object.

示例

下面的代码示例演示如何获取 SortedList 对象中的一个或全部键或值。The following code example shows how to get one or all the keys or values in a SortedList object.

#using <system.dll>

using namespace System;
using namespace System::Collections;
int main()
{
   
   // Creates and initializes a new SortedList.
   SortedList^ mySL = gcnew SortedList;
   mySL->Add( 1.3, "fox" );
   mySL->Add( 1.4, "jumps" );
   mySL->Add( 1.5, "over" );
   mySL->Add( 1.2, "brown" );
   mySL->Add( 1.1, "quick" );
   mySL->Add( 1.0, "The" );
   mySL->Add( 1.6, "the" );
   mySL->Add( 1.8, "dog" );
   mySL->Add( 1.7, "lazy" );
   
   // Gets the key and the value based on the index.
   int myIndex = 3;
   Console::WriteLine( "The key   at index {0} is {1}.", myIndex, mySL->GetKey( myIndex ) );
   Console::WriteLine( "The value at index {0} is {1}.", myIndex, mySL->GetByIndex( myIndex ) );
   
   // Gets the list of keys and the list of values.
   IList^ myKeyList = mySL->GetKeyList();
   IList^ myValueList = mySL->GetValueList();
   
   // Prints the keys in the first column and the values in the second column.
   Console::WriteLine( "\t-KEY-\t-VALUE-" );
   for ( int i = 0; i < mySL->Count; i++ )
      Console::WriteLine( "\t{0}\t{1}", myKeyList[ i ], myValueList[ i ] );
}

/*
This code produces the following output.

The key   at index 3 is 1.3.
The value at index 3 is fox.
        -KEY-   -VALUE-
        1       The
        1.1     quick
        1.2     brown
        1.3     fox
        1.4     jumps
        1.5     over
        1.6     the
        1.7     lazy
        1.8     dog
*/
using System;
using System.Collections;
public class SamplesSortedList  {

   public static void Main()  {

      // Creates and initializes a new SortedList.
      SortedList mySL = new SortedList();
      mySL.Add( 1.3, "fox" );
      mySL.Add( 1.4, "jumps" );
      mySL.Add( 1.5, "over" );
      mySL.Add( 1.2, "brown" );
      mySL.Add( 1.1, "quick" );
      mySL.Add( 1.0, "The" );
      mySL.Add( 1.6, "the" );
      mySL.Add( 1.8, "dog" );
      mySL.Add( 1.7, "lazy" );

      // Gets the key and the value based on the index.
      int myIndex=3;
      Console.WriteLine( "The key   at index {0} is {1}.", myIndex, mySL.GetKey( myIndex ) );
      Console.WriteLine( "The value at index {0} is {1}.", myIndex, mySL.GetByIndex( myIndex ) );

      // Gets the list of keys and the list of values.
      IList myKeyList = mySL.GetKeyList();
      IList myValueList = mySL.GetValueList();

      // Prints the keys in the first column and the values in the second column.
      Console.WriteLine( "\t-KEY-\t-VALUE-" );
      for ( int i = 0; i < mySL.Count; i++ )
         Console.WriteLine( "\t{0}\t{1}", myKeyList[i], myValueList[i] );
   }
}
/* 
This code produces the following output.

The key   at index 3 is 1.3.
The value at index 3 is fox.
    -KEY-    -VALUE-
    1    The
    1.1    quick
    1.2    brown
    1.3    fox
    1.4    jumps
    1.5    over
    1.6    the
    1.7    lazy
    1.8    dog
*/ 
Imports System.Collections

Public Class SamplesSortedList
        
    Public Shared Sub Main()
        
        ' Creates and initializes a new SortedList.
        Dim mySL As New SortedList()
        mySL.Add(1.3, "fox")
        mySL.Add(1.4, "jumps")
        mySL.Add(1.5, "over")
        mySL.Add(1.2, "brown")
        mySL.Add(1.1, "quick")
        mySL.Add(1.0, "The")
        mySL.Add(1.6, "the")
        mySL.Add(1.8, "dog")
        mySL.Add(1.7, "lazy")
        
        ' Gets the key and the value based on the index.
        Dim myIndex As Integer = 3
        Console.WriteLine("The key   at index {0} is {1}.", myIndex, _
           mySL.GetKey(myIndex))
        Console.WriteLine("The value at index {0} is {1}.", myIndex, _
           mySL.GetByIndex(myIndex))
        
        ' Gets the list of keys and the list of values.
        Dim myKeyList As IList = mySL.GetKeyList()
        Dim myValueList As IList = mySL.GetValueList()
        
        ' Prints the keys in the first column and the values in the second column.
        Console.WriteLine(ControlChars.Tab & "-KEY-" & ControlChars.Tab & _
           "-VALUE-")
        Dim i As Integer
        For i = 0 To mySL.Count - 1
            Console.WriteLine(ControlChars.Tab & "{0}" & ControlChars.Tab & _
               "{1}", myKeyList(i), myValueList(i))
        Next i
    End Sub
End Class

' This code produces the following output.
' 
' The key   at index 3 is 1.3.
' The value at index 3 is fox.
'     -KEY-    -VALUE-
'     1    The
'     1.1    quick
'     1.2    brown
'     1.3    fox
'     1.4    jumps
'     1.5    over
'     1.6    the
'     1.7    lazy
'     1.8    dog

注解

返回 IList 对象是 SortedList 对象的键的只读视图。The returned IList object is a read-only view of the keys of the SortedList object. 对基础 SortedList 所做的修改会立即反映在 IList中。Modifications made to the underlying SortedList are immediately reflected in the IList.

返回 IList 的元素按与 SortedList键相同的顺序进行排序。The elements of the returned IList are sorted in the same order as the keys of the SortedList.

此方法类似于 Keys 属性,但返回 IList 对象而不是 ICollection 对象。This method is similar to the Keys property, but returns an IList object instead of an ICollection object.

此方法是一个 O(1) 操作。This method is an O(1) operation.

适用于

另请参阅