SortedList<TKey,TValue>.IDictionary.Item[Object] Propriedade

Definição

Obtém ou define o elemento com a chave especificada.Gets or sets the element with the specified key.

property System::Object ^ System::Collections::IDictionary::Item[System::Object ^] { System::Object ^ get(System::Object ^ key); void set(System::Object ^ key, System::Object ^ value); };
object System.Collections.IDictionary.Item[object key] { get; set; }
System.Collections.IDictionary.Item
 Property Item(key As Object) As Object Implements IDictionary.Item

Parâmetros

key
Object

A chave do elemento a ser obtida ou adicionada.The key of the element to get or set.

Valor da propriedade

O elemento com a chave especificada ou null se key não estiver no dicionário ou key for de um tipo que não pode ser atribuído ao tipo de chave TKey do SortedList<TKey,TValue>.The element with the specified key, or null if key is not in the dictionary or key is of a type that is not assignable to the key type TKey of the SortedList<TKey,TValue>.

Implementações

Exceções

key é null.key is null.

Um valor está sendo atribuído e key é de um tipo que não é atribuível ao tipo de chave TKey do SortedList<TKey,TValue>.A value is being assigned, and key is of a type that is not assignable to the key type TKey of the SortedList<TKey,TValue>.

- ou --or- Um valor está sendo atribuído e value é de um tipo que não é atribuível ao tipo de valor TValue do SortedList<TKey,TValue>.A value is being assigned, and value is of a type that is not assignable to the value type TValue of the SortedList<TKey,TValue>.

Exemplos

O exemplo de código a seguir mostra como usar a propriedade IDictionary.Item[Object] (o indexador C#em) da interface System.Collections.IDictionary com um SortedList<TKey,TValue>e maneiras de a propriedade diferir da propriedade SortedList<TKey,TValue>.Item[TKey].The following code example shows how to use the IDictionary.Item[Object] property (the indexer in C#) of the System.Collections.IDictionary interface with a SortedList<TKey,TValue>, and ways the property differs from the SortedList<TKey,TValue>.Item[TKey] property.

O exemplo mostra que, como a propriedade SortedList<TKey,TValue>.Item[TKey], a propriedade SortedList<TKey,TValue>.IDictionary.Item[Object] pode alterar o valor associado a uma chave existente e pode ser usada para adicionar um novo par de chave/valor se a chave especificada não estiver na lista classificada.The example shows that, like the SortedList<TKey,TValue>.Item[TKey] property, the SortedList<TKey,TValue>.IDictionary.Item[Object] property can change the value associated with an existing key and can be used to add a new key/value pair if the specified key is not in the sorted list. O exemplo também mostra que, diferentemente da propriedade SortedList<TKey,TValue>.Item[TKey], a propriedade SortedList<TKey,TValue>.IDictionary.Item[Object] não lançará uma exceção se key não estiver na lista classificada, retornando uma referência nula em vez disso.The example also shows that unlike the SortedList<TKey,TValue>.Item[TKey] property, the SortedList<TKey,TValue>.IDictionary.Item[Object] property does not throw an exception if key is not in the sorted list, returning a null reference instead. Por fim, o exemplo demonstra que obter a propriedade SortedList<TKey,TValue>.IDictionary.Item[Object] retornará uma referência nula se key não for o tipo de dados correto, e se a configuração da Propriedade gerar uma exceção se key não for o tipo de dados correto.Finally, the example demonstrates that getting the SortedList<TKey,TValue>.IDictionary.Item[Object] property returns a null reference if key is not the correct data type, and that setting the property throws an exception if key is not the correct data type.

O exemplo de código faz parte de um exemplo maior, inclusive saída, fornecido para o método IDictionary.Add.The code example is part of a larger example, including output, provided for the IDictionary.Add method.

using System;
using System.Collections;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new sorted list of strings, with string keys,
        // and access it using the IDictionary interface.
        //
        IDictionary openWith = new SortedList<string, string>();

        // Add some elements to the sorted list. 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");
Imports System.Collections
Imports System.Collections.Generic

Public Class Example
    
    Public Shared Sub Main() 

        ' Create a new sorted list of strings, with string keys,
        ' and access it using the IDictionary interface.
        '
        Dim openWith As IDictionary = _
            New sortedList(Of String, String)
        
        ' Add some elements to the sorted list. 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")
// The Item property is another name for the indexer, so you 
// can omit its name when accessing elements. 
Console.WriteLine("For key = \"rtf\", value = {0}.", 
    openWith["rtf"]);

// The indexer can be used to change the value associated
// with a key.
openWith["rtf"] = "winword.exe";
Console.WriteLine("For key = \"rtf\", value = {0}.", 
    openWith["rtf"]);

// If a key does not exist, setting the indexer for that key
// adds a new key/value pair.
openWith["doc"] = "winword.exe";

// The indexer returns null if the key is of the wrong data 
// type.
Console.WriteLine("The indexer returns null" 
    + " if the key is of the wrong type:");
Console.WriteLine("For key = 2, value = {0}.", 
    openWith[2]);

// The indexer throws an exception when setting a value
// if the key is of the wrong data type.
try
{
    openWith[2] = "This does not get added.";
}
catch (ArgumentException)
{
    Console.WriteLine("A key of the wrong type was specified" 
        + " when assigning to the indexer.");
}
' The Item property is the default property, so you 
' can omit its name when accessing elements. 
Console.WriteLine("For key = ""rtf"", value = {0}.", _
    openWith("rtf"))

' The default Item property can be used to change the value
' associated with a key.
openWith("rtf") = "winword.exe"
Console.WriteLine("For key = ""rtf"", value = {0}.", _
    openWith("rtf"))

' If a key does not exist, setting the default Item property
' for that key adds a new key/value pair.
openWith("doc") = "winword.exe"

' The default Item property returns Nothing if the key
' is of the wrong data type.
Console.WriteLine("The default Item property returns Nothing" _
    & " if the key is of the wrong type:")
Console.WriteLine("For key = 2, value = {0}.", _
    openWith(2))

' The default Item property throws an exception when setting
' a value if the key is of the wrong data type.
Try
    openWith(2) = "This does not get added."
Catch 
    Console.WriteLine("A key of the wrong type was specified" _
        & " when setting the default Item property.")
End Try
// Unlike the default Item property on the SorteList class
// itself, IDictionary.Item does not throw an exception
// if the requested key is not in the sorted list.
Console.WriteLine("For key = \"tif\", value = {0}.", 
    openWith["tif"]);
' Unlike the default Item property on the SortedList class
' itself, IDictionary.Item does not throw an exception
' if the requested key is not in the sorted list.
Console.WriteLine("For key = ""tif"", value = {0}.", _
    openWith("tif"))
    }
}

    End Sub

End Class

Comentários

Essa propriedade retornará null se key for de um tipo que não seja atribuível ao tipo de chave TKey do SortedList<TKey,TValue>.This property returns null if key is of a type that is not assignable to the key type TKey of the SortedList<TKey,TValue>.

Essa propriedade fornece a capacidade de acessar um elemento específico na coleção usando a seguinte sintaxe: myCollection[key].This property provides the ability to access a specific element in the collection by using the following syntax: myCollection[key].

Você também pode usar a propriedade Item[Object] para adicionar novos elementos definindo o valor de uma chave que não existe no dicionário; por exemplo, 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 dictionary; for example, myCollection["myNonexistentKey"] = myValue. No entanto, se a chave especificada já existir no dicionário, a definição da propriedade Item[Object] substituirá o valor antigo.However, if the specified key already exists in the dictionary, setting the Item[Object] property overwrites the old value. Por outro lado, o método Add não modifica os elementos existentes.In contrast, the Add method does not modify existing elements.

O C# idioma usa a palavra-chave this para definir os indexadores em vez de implementar a propriedade IDictionary.Item[Object].The C# language uses the this keyword to define the indexers instead of implementing the IDictionary.Item[Object] property. Visual Basic implementa IDictionary.Item[Object] como uma propriedade padrão, que fornece a mesma funcionalidade de indexação.Visual Basic implements IDictionary.Item[Object] as a default property, which provides the same indexing functionality.

A recuperação do valor dessa propriedade é uma operação O (nde log), em que n é Count.Retrieving the value of this property is an O(log n) operation, where n is Count. Definir a propriedade é uma operação O (nde log) se a chave já estiver no SortedList<TKey,TValue>.Setting the property is an O(log n) operation if the key is already in the SortedList<TKey,TValue>. Se a chave não estiver na lista, definir a propriedade será uma operação O (n) para dados não classificados ou O (log n) se o novo elemento for adicionado ao final da lista.If the key is not in the list, setting the property is an O(n) operation for unsorted data, or O(log n) if the new element is added at the end of the list. Se a inserção causar um redimensionamento, a operação será O (n).If insertion causes a resize, the operation is O(n).

Aplica-se a

Veja também