次の方法で共有


SortedList.SetByIndex メソッド

SortedList の特定のインデックスにある値を置換します。

Public Overridable Sub SetByIndex( _
   ByVal index As Integer, _   ByVal value As Object _)
[C#]
public virtual void SetByIndex(intindex,objectvalue);
[C++]
public: virtual void SetByIndex(intindex,Object* value);
[JScript]
public function SetByIndex(
   index : int,value : Object);

パラメータ

  • index
    value を保存する位置の、0 から始まるインデックス番号。
  • value
    SortedList に保存する Object 。値は null 参照 (Visual Basic では Nothing) に設定できます。

例外

例外の種類 条件
ArgumentOutOfRangeException index が、 SortedList の有効なインデックスの範囲外です。

解説

並べ替え順に基づいたインデックス順。要素を追加すると、その要素は正しい並べ替え順に従って SortedList に挿入され、それに応じてインデックスも調整されます。要素が削除されると、それに応じてインデックスも調整されます。したがって、特定のキーと値の組み合わせのインデックスは、要素が SortedList で追加または削除されるときに変更されることがあります。

使用例

[Visual Basic, C#, C++] SortedList に既に存在する要素の値を置換する方法の例を次に示します。

 
Imports System
Imports System.Collections
Imports Microsoft.VisualBasic

Public Class SamplesSortedList    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new SortedList.
        Dim mySL As New SortedList()
        mySL.Add(2, "two")
        mySL.Add(3, "three")
        mySL.Add(1, "one")
        mySL.Add(0, "zero")
        mySL.Add(4, "four")
        
        ' Displays the values of the SortedList.
        Console.WriteLine("The SortedList contains the following" & _
           "values:")
        PrintIndexAndKeysAndValues(mySL)
        
        ' Replaces the values at index 3 and index 4.
        mySL.SetByIndex(3, "III")
        mySL.SetByIndex(4, "IV")
        
        ' Displays the updated values of the SortedList.
        Console.WriteLine("After replacing the value at index 3 and index 4,")
        PrintIndexAndKeysAndValues(mySL)
    End Sub 'Main
    
    
    
    Public Shared Sub PrintIndexAndKeysAndValues(myList As SortedList)
        Console.WriteLine(ControlChars.Tab & "-INDEX-" & ControlChars.Tab & _
           "-KEY-" & ControlChars.Tab & "-VALUE-")
        Dim i As Integer
        For i = 0 To myList.Count - 1
            Console.WriteLine(ControlChars.Tab & "[{0}]:" & ControlChars.Tab & _
               "{1}" & ControlChars.Tab & "{2}", i, myList.GetKey(i), _
               myList.GetByIndex(i))
        Next i
        Console.WriteLine()
    End Sub
End Class

' This code produces the following output.
' 
' The SortedList contains the following values:
'     -INDEX-    -KEY-    -VALUE-
'     [0]:    0    zero
'     [1]:    1    one
'     [2]:    2    two
'     [3]:    3    three
'     [4]:    4    four
' 
' After replacing the value at index 3 and index 4,
'     -INDEX-    -KEY-    -VALUE-
'     [0]:    0    zero
'     [1]:    1    one
'     [2]:    2    two
'     [3]:    3    III
'     [4]:    4    IV

[C#] 
using System;
using System.Collections;
public class SamplesSortedList  {

   public static void Main()  {

      // Creates and initializes a new SortedList.
      SortedList mySL = new SortedList();
      mySL.Add( 2, "two" );
      mySL.Add( 3, "three" );
      mySL.Add( 1, "one" );
      mySL.Add( 0, "zero" );
      mySL.Add( 4, "four" );

      // Displays the values of the SortedList.
      Console.WriteLine( "The SortedList contains the following values:" );
      PrintIndexAndKeysAndValues( mySL );

      // Replaces the values at index 3 and index 4.
      mySL.SetByIndex( 3, "III" );
      mySL.SetByIndex( 4, "IV" );

      // Displays the updated values of the SortedList.
      Console.WriteLine( "After replacing the value at index 3 and index 4," );
      PrintIndexAndKeysAndValues( mySL );
   }


   public static void PrintIndexAndKeysAndValues( SortedList myList )  {
      Console.WriteLine( "\t-INDEX-\t-KEY-\t-VALUE-" );
      for ( int i = 0; i < myList.Count; i++ )  {
         Console.WriteLine( "\t[{0}]:\t{1}\t{2}", i, myList.GetKey(i), myList.GetByIndex(i) );
      }
      Console.WriteLine();
   }
}
/* 
This code produces the following output.

The SortedList contains the following values:
    -INDEX-    -KEY-    -VALUE-
    [0]:    0    zero
    [1]:    1    one
    [2]:    2    two
    [3]:    3    three
    [4]:    4    four

After replacing the value at index 3 and index 4,
    -INDEX-    -KEY-    -VALUE-
    [0]:    0    zero
    [1]:    1    one
    [2]:    2    two
    [3]:    3    III
    [4]:    4    IV
*/ 

[C++] 
#using <mscorlib.dll>
#using <system.dll>

using namespace System;
using namespace System::Collections;


void PrintIndexAndKeysAndValues( SortedList* myList )  {
   Console::WriteLine( S"\t-INDEX-\t-KEY-\t-VALUE-" );
   for ( int i = 0; i < myList->Count; i++ )  {
      Console::WriteLine( S"\t[{0}]:\t{1}\t{2}",
         __box(i), myList->GetKey(i), myList->GetByIndex(i) );
   }
   Console::WriteLine();
}

int main()  {

   // Creates and initializes a new SortedList.
   SortedList* mySL = new SortedList();
   mySL->Add( __box(2), S"two" );
   mySL->Add( __box(3), S"three" );
   mySL->Add( __box(1), S"one" );
   mySL->Add( __box(0), S"zero" );
   mySL->Add( __box(4), S"four" );

   // Displays the values of the SortedList.
   Console::WriteLine( S"The SortedList contains the following values:" );
   PrintIndexAndKeysAndValues( mySL );

   // Replaces the values at index 3 and index 4.
   mySL->SetByIndex( 3, S"III" );
   mySL->SetByIndex( 4, S"IV" );

   // Displays the updated values of the SortedList.
   Console::WriteLine( S"After replacing the value at index 3 and index 4," );
   PrintIndexAndKeysAndValues( mySL );
}

/*
This code produces the following output.

The SortedList contains the following values:
        -INDEX- -KEY-   -VALUE-
        [0]:    0       zero
        [1]:    1       one
        [2]:    2       two
        [3]:    3       three
        [4]:    4       four

After replacing the value at index 3 and index 4,
        -INDEX- -KEY-   -VALUE-
        [0]:    0       zero
        [1]:    1       one
        [2]:    2       two
        [3]:    3       III
        [4]:    4       IV
*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

SortedList クラス | SortedList メンバ | System.Collections 名前空間 | IndexOfKey | IndexOfValue