SortedList.Add(Object, Object) SortedList.Add(Object, Object) SortedList.Add(Object, Object) SortedList.Add(Object, Object) Method

Определение

Добавляет элемент с указанными ключом и значением в объект SortedList.Adds an element with the specified key and value to a SortedList object.

public:
 virtual void Add(System::Object ^ key, System::Object ^ value);
public virtual void Add (object key, object value);
abstract member Add : obj * obj -> unit
override this.Add : obj * obj -> unit
Public Overridable Sub Add (key As Object, value As Object)

Параметры

key
Object Object Object Object

Ключ добавляемого элемента.The key of the element to add.

value
Object Object Object Object

Добавляемое значение элемента.The value of the element to add. Допускается значение null.The value can be null.

Реализации

Исключения

Элемент с указанным значением параметра key уже существует в объекте SortedList.An element with the specified key already exists in the SortedList object.

-или--or- Для объекта SortedList задано использование интерфейса IComparable, а параметр key не реализует интерфейс IComparable.The SortedList is set to use the IComparable interface, and key does not implement the IComparable interface.

Объект SortedList доступен только для чтения.The SortedList is read-only.

-или--or- SortedList имеет фиксированный размер.The SortedList has a fixed size.

Недостаточно свободной памяти для добавления элемента в объект SortedList.There is not enough available memory to add the element to the SortedList.

Средство сравнения выдает исключение.The comparer throws an exception.

Примеры

В следующем примере кода показано, как добавить элементы в SortedList объекта.The following code example shows how to add elements to a SortedList object.

#using <system.dll>

using namespace System;
using namespace System::Collections;
void PrintKeysAndValues( SortedList^ myList )
{
   Console::WriteLine(  "\t-KEY-\t-VALUE-" );
   for ( int i = 0; i < myList->Count; i++ )
   {
      Console::WriteLine(  "\t{0}:\t{1}", myList->GetKey( i ), myList->GetByIndex( i ) );

   }
   Console::WriteLine();
}

int main()
{
   
   // Creates and initializes a new SortedList.
   SortedList^ mySL = gcnew SortedList;
   mySL->Add( "one", "The" );
   mySL->Add( "two", "quick" );
   mySL->Add( "three", "brown" );
   mySL->Add( "four", "fox" );
   
   // Displays the SortedList.
   Console::WriteLine(  "The SortedList contains the following:" );
   PrintKeysAndValues( mySL );
}

/* 
This code produces the following output.

The SortedList contains the following:
        -KEY-   -VALUE-
        four:   fox
        one:    The
        three:  brown
        two:    quick
*/
using System;
using System.Collections;
public class SamplesSortedList  {

   public static void Main()  {

      // Creates and initializes a new SortedList.
      SortedList mySL = new SortedList();
      mySL.Add( "one", "The" );
      mySL.Add( "two", "quick" );
      mySL.Add( "three", "brown" );
      mySL.Add( "four", "fox" );

      // Displays the SortedList.
      Console.WriteLine( "The SortedList contains the following:" );
      PrintKeysAndValues( mySL );
   }


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

The SortedList contains the following:
    -KEY-    -VALUE-
    four:    fox
    one:    The
    three:    brown
    two:    quick
*/
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("one", "The")
        mySL.Add("two", "quick")
        mySL.Add("three", "brown")
        mySL.Add("four", "fox")
        
        ' Displays the SortedList.
        Console.WriteLine("The SortedList contains the following:")
        PrintKeysAndValues(mySL)
    End Sub    
    
    Public Shared Sub PrintKeysAndValues(myList As SortedList)
        Console.WriteLine(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}", 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:
'     -KEY-    -VALUE-
'     four:    fox
'     one:    The
'     three:    brown
'     two:    quick
 

Комментарии

Точка вставки определяется на основе функции сравнения, выбран, явно или по умолчанию, когда SortedList был создан объект.The insertion point is determined based on the comparer selected, either explicitly or by default, when the SortedList object was created.

Если Count равно Capacity, емкости из SortedList объекта увеличивается автоматически перераспределения внутреннего массива и существующие элементы копируются в новый массив, перед добавлением нового элемента.If Count already equals Capacity, the capacity of the SortedList object is increased by automatically reallocating the internal array, and the existing elements are copied to the new array before the new element is added.

Можно также использовать Item[Object] свойство для добавления новых элементов, задав значение ключа, который не существует в SortedList объекта (например, myCollection["myNonexistentKey"] = myValue).You can also use the Item[Object] property to add new elements by setting the value of a key that does not exist in the SortedList object (for example, myCollection["myNonexistentKey"] = myValue). Тем не менее если указанный ключ уже существует в SortedList, задание Item[Object] свойство перезаписывает прежнее значение.However, if the specified key already exists in the SortedList, setting the Item[Object] property overwrites the old value. Напротив Add метод не изменяет существующие элементы.In contrast, the Add method does not modify existing elements.

Элементы SortedList объекта сортируются по ключам зависимости от определенной IComparer реализации, указанное при SortedList созданный или соответствии IComparable реализацию, предоставляемую самих ключей.The elements of a SortedList object are sorted by the keys either according to a specific IComparer implementation specified when the SortedList is created or according to the IComparable implementation provided by the keys themselves.

Ключ не может быть null, но может быть значение.A key cannot be null, but a value can be.

Этот метод является операцией O (n) операции без сортировки данных, где n является Count.This method is an O(n) operation for unsorted data, where n is Count. Он является операцией O (log n) операции, если новый элемент добавляется в конец списка.It is an O(log n) operation if the new element is added at the end of the list. Вставка происходит изменение размера, является ли операция O (n).If insertion causes a resize, the operation is O(n).

Применяется к

Дополнительно