NameValueCollection Class

Definition

Representa una colección de claves de String y valores String asociados a los que se puede obtener acceso con la clave o con el índice.Represents a collection of associated String keys and String values that can be accessed either with the key or with the index.

public ref class NameValueCollection : System::Collections::Specialized::NameObjectCollectionBase
public class NameValueCollection : System.Collections.Specialized.NameObjectCollectionBase
[System.Serializable]
public class NameValueCollection : System.Collections.Specialized.NameObjectCollectionBase
type NameValueCollection = class
    inherit NameObjectCollectionBase
Public Class NameValueCollection
Inherits NameObjectCollectionBase
Inheritance
NameValueCollection
Derived
Attributes

Examples

#using <System.dll>

using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;

void PrintKeysAndValues( NameValueCollection^ myCol );
void PrintKeysAndValues2( NameValueCollection^ myCol );

int main()
{
   // Creates and initializes a new NameValueCollection.
   NameValueCollection^ myCol = gcnew NameValueCollection;
   myCol->Add( "red", "rojo" );
   myCol->Add( "green", "verde" );
   myCol->Add( "blue", "azul" );
   myCol->Add( "red", "rouge" );

   // Displays the values in the NameValueCollection in two different ways.
   Console::WriteLine( "Displays the elements using the AllKeys property and the Item (indexer) property:" );
   PrintKeysAndValues( myCol );
   Console::WriteLine( "Displays the elements using GetKey and Get:" );
   PrintKeysAndValues2( myCol );

   // Gets a value either by index or by key.
   Console::WriteLine( "Index 1 contains the value {0}.", myCol[ 1 ] );
   Console::WriteLine( "Key \"red\" has the value {0}.", myCol[ "red" ] );
   Console::WriteLine();

   // Copies the values to a string array and displays the string array.
   array<String^>^myStrArr = gcnew array<String^>(myCol->Count);
   myCol->CopyTo( myStrArr, 0 );
   Console::WriteLine( "The string array contains:" );
   for each ( String^ s in myStrArr )
      Console::WriteLine( "   {0}", s );
   Console::WriteLine();

   // Searches for a key and deletes it.
   myCol->Remove( "green" );
   Console::WriteLine( "The collection contains the following elements after removing \"green\":" );
   PrintKeysAndValues( myCol );

   // Clears the entire collection.
   myCol->Clear();
   Console::WriteLine( "The collection contains the following elements after it is cleared:" );
   PrintKeysAndValues( myCol );
}

void PrintKeysAndValues( NameValueCollection^ myCol )
{
   Console::WriteLine( "   KEY        VALUE" );
   for each ( String^ s in myCol->AllKeys )
      Console::WriteLine( "   {0,-10} {1}", s, myCol[s] );
   Console::WriteLine();
}

void PrintKeysAndValues2( NameValueCollection^ myCol )
{
   Console::WriteLine( "   [INDEX] KEY        VALUE" );
   for ( int i = 0; i < myCol->Count; i++ )
      Console::WriteLine( "   [{0}]     {1,-10} {2}", i, myCol->GetKey( i ), myCol->Get( i ) );
   Console::WriteLine();
}

/*

This code produces the following output.

Displays the elements using the AllKeys property and the Item (indexer) property:
   KEY        VALUE
   red        rojo,rouge
   green      verde
   blue       azul

Displays the elements using GetKey and Get:
   [INDEX] KEY        VALUE
   [0]     red        rojo,rouge
   [1]     green      verde
   [2]     blue       azul

Index 1 contains the value verde.
Key "red" has the value rojo,rouge.

The string array contains:
   rojo,rouge
   verde
   azul

The collection contains the following elements after removing "green":
   KEY        VALUE
   red        rojo,rouge
   blue       azul

The collection contains the following elements after it is cleared:
   KEY        VALUE


*/
using System;
using System.Collections;
using System.Collections.Specialized;

public class SamplesNameValueCollection  {

   public static void Main()  {

      // Creates and initializes a new NameValueCollection.
      NameValueCollection myCol = new NameValueCollection();
      myCol.Add( "red", "rojo" );
      myCol.Add( "green", "verde" );
      myCol.Add( "blue", "azul" );
      myCol.Add( "red", "rouge" );

      // Displays the values in the NameValueCollection in two different ways.
      Console.WriteLine( "Displays the elements using the AllKeys property and the Item (indexer) property:" );
      PrintKeysAndValues( myCol );
      Console.WriteLine( "Displays the elements using GetKey and Get:" );
      PrintKeysAndValues2( myCol );

      // Gets a value either by index or by key.
      Console.WriteLine( "Index 1 contains the value {0}.", myCol[1] );
      Console.WriteLine( "Key \"red\" has the value {0}.", myCol["red"] );
      Console.WriteLine();

      // Copies the values to a string array and displays the string array.
      String[] myStrArr = new String[myCol.Count];
      myCol.CopyTo( myStrArr, 0 );
      Console.WriteLine( "The string array contains:" );
      foreach ( String s in myStrArr )
         Console.WriteLine( "   {0}", s );
      Console.WriteLine();

      // Searches for a key and deletes it.
      myCol.Remove( "green" );
      Console.WriteLine( "The collection contains the following elements after removing \"green\":" );
      PrintKeysAndValues( myCol );

      // Clears the entire collection.
      myCol.Clear();
      Console.WriteLine( "The collection contains the following elements after it is cleared:" );
      PrintKeysAndValues( myCol );
   }

   public static void PrintKeysAndValues( NameValueCollection myCol )  {
      Console.WriteLine( "   KEY        VALUE" );
      foreach ( String s in myCol.AllKeys )
         Console.WriteLine( "   {0,-10} {1}", s, myCol[s] );
      Console.WriteLine();
   }

   public static void PrintKeysAndValues2( NameValueCollection myCol )  {
      Console.WriteLine( "   [INDEX] KEY        VALUE" );
      for ( int i = 0; i < myCol.Count; i++ )
         Console.WriteLine( "   [{0}]     {1,-10} {2}", i, myCol.GetKey(i), myCol.Get(i) );
      Console.WriteLine();
   }
}

/*

This code produces the following output.

Displays the elements using the AllKeys property and the Item (indexer) property:
   KEY        VALUE
   red        rojo,rouge
   green      verde
   blue       azul

Displays the elements using GetKey and Get:
   [INDEX] KEY        VALUE
   [0]     red        rojo,rouge
   [1]     green      verde
   [2]     blue       azul

Index 1 contains the value verde.
Key "red" has the value rojo,rouge.

The string array contains:
   rojo,rouge
   verde
   azul

The collection contains the following elements after removing "green":
   KEY        VALUE
   red        rojo,rouge
   blue       azul

The collection contains the following elements after it is cleared:
   KEY        VALUE


*/
' The following code example demonstrates several of the properties and methods of ListDictionary.

Imports System.Collections
Imports System.Collections.Specialized


Public Class SamplesNameValueCollection

    Public Shared Sub Main()

        ' Creates and initializes a new NameValueCollection.
        Dim myCol As New NameValueCollection()
        myCol.Add("red", "rojo")
        myCol.Add("green", "verde")
        myCol.Add("blue", "azul")
        myCol.Add("red", "rouge")

        ' Displays the values in the NameValueCollection in two different ways.
        Console.WriteLine("Displays the elements using the AllKeys property and the Item (indexer) property:")
        PrintKeysAndValues(myCol)
        Console.WriteLine("Displays the elements using GetKey and Get:")
        PrintKeysAndValues2(myCol)

        ' Gets a value either by index or by key.
        Console.WriteLine("Index 1 contains the value {0}.", myCol(1))
        Console.WriteLine("Key ""red"" has the value {0}.", myCol("red"))
        Console.WriteLine()

        ' Copies the values to a string array and displays the string array.
        Dim myStrArr(myCol.Count) As String
        myCol.CopyTo(myStrArr, 0)
        Console.WriteLine("The string array contains:")
        Dim s As String
        For Each s In myStrArr
            Console.WriteLine("   {0}", s)
        Next s
        Console.WriteLine()

        ' Searches for a key and deletes it.
        myCol.Remove("green")
        Console.WriteLine("The collection contains the following elements after removing ""green"":")
        PrintKeysAndValues(myCol)

        ' Clears the entire collection.
        myCol.Clear()
        Console.WriteLine("The collection contains the following elements after it is cleared:")
        PrintKeysAndValues(myCol)

    End Sub

    Public Shared Sub PrintKeysAndValues(myCol As NameValueCollection)
        Console.WriteLine("   KEY        VALUE")
        Dim s As String
        For Each s In  myCol.AllKeys
            Console.WriteLine("   {0,-10} {1}", s, myCol(s))
        Next s
        Console.WriteLine()
    End Sub

    Public Shared Sub PrintKeysAndValues2(myCol As NameValueCollection)
        Console.WriteLine("   [INDEX] KEY        VALUE")
        Dim i As Integer
        For i = 0 To myCol.Count - 1
            Console.WriteLine("   [{0}]     {1,-10} {2}", i, myCol.GetKey(i), myCol.Get(i))
        Next i
        Console.WriteLine()
    End Sub

End Class


'This code produces the following output.
'
'Displays the elements using the AllKeys property and the Item (indexer) property:
'   KEY        VALUE
'   red        rojo,rouge
'   green      verde
'   blue       azul
'
'Displays the elements using GetKey and Get:
'   [INDEX] KEY        VALUE
'   [0]     red        rojo,rouge
'   [1]     green      verde
'   [2]     blue       azul
'
'Index 1 contains the value verde.
'Key "red" has the value rojo,rouge.
'
'The string array contains:
'   red
'   green
'   blue
'
'
'The collection contains the following elements after removing "green":
'   KEY        VALUE
'   red        rojo,rouge
'   blue       azul
'
'The collection contains the following elements after it is cleared:
'   KEY        VALUE
'
'

Remarks

Esta colección se basa en la clase NameObjectCollectionBase.This collection is based on the NameObjectCollectionBase class. Cada elemento de la colección es un par clave-valor.Each element of the collection is a key/value pair. Sin embargo, a diferencia de lo NameObjectCollectionBase, esta clase puede almacenar varios valores de cadena en una sola clave.However, unlike the NameObjectCollectionBase, this class can store multiple string values under a single key.

Esta clase se puede utilizar para encabezados, cadenas de consulta y datos de formulario.This class can be used for headers, query strings and form data.

Las colecciones de este tipo no conservan el orden de los elementos y no se garantiza ninguna ordenación determinada al enumerar la colección.Collections of this type do not preserve the ordering of elements, and no particular ordering is guaranteed when enumerating the collection.

La capacidad de una NameValueCollection es el número de elementos que puede contener el NameValueCollection.The capacity of a NameValueCollection is the number of elements the NameValueCollection can hold. A medida que se agregan elementos, su capacidad aumenta automáticamente según sea necesario a través de la reasignación.As elements are added, its capacity is automatically increased as required through reallocation.

El proveedor de código hash dispensará los códigos hash de las claves en el NameValueCollection.The hash code provider dispenses hash codes for keys in the NameValueCollection. El proveedor de código hash predeterminado es el CaseInsensitiveHashCodeProvider.The default hash code provider is the CaseInsensitiveHashCodeProvider.

El comparador determina si dos claves son iguales.The comparer determines whether two keys are equal. El comparador predeterminado es un CaseInsensitiveComparer que usa las convenciones de la referencia cultural de todos los idiomas; es decir, las comparaciones de clave no distinguen mayúsculas de minúsculas de forma predeterminada.The default comparer is a CaseInsensitiveComparer that uses the conventions of the invariant culture; that is, key comparisons are case-insensitive by default. Para realizar comparaciones de claves que distinguen mayúsculas de minúsculas, llame al constructor NameValueCollection.NameValueCollection(IEqualityComparer) y proporcione un valor de StringComparer.CurrentCulture, StringComparer.InvariantCultureo StringComparer.Ordinal como el argumento equalityComparer.To perform case-sensitive key comparisons, call the NameValueCollection.NameValueCollection(IEqualityComparer) constructor, and provide a value of StringComparer.CurrentCulture, StringComparer.InvariantCulture, or StringComparer.Ordinal as the equalityComparer argument. Para obtener más información sobre cómo afecta la referencia cultural a las comparaciones y ordenación, vea realizar operaciones de cadenas que no tienen en cuenta las referencias culturales.For more information about how culture affects comparisons and sorting, see Performing Culture-Insensitive String Operations.

null se permite como una clave o como un valor.null is allowed as a key or as a value.

Caution

El método Get no distingue entre null que se devuelve porque la clave especificada no se encuentra y null que se devuelve porque se nullel valor asociado a la clave.The Get method does not distinguish between null which is returned because the specified key is not found and null which is returned because the value associated with the key is null.

Constructors

NameValueCollection()

Inicializa una nueva instancia de la clase NameValueCollection que está vacía, tiene la capacidad inicial predeterminada y usa el proveedor de código hash y el comparador predeterminados que no distinguen mayúsculas de minúsculas.Initializes a new instance of the NameValueCollection class that is empty, has the default initial capacity and uses the default case-insensitive hash code provider and the default case-insensitive comparer.

NameValueCollection(IEqualityComparer)

Inicializa una nueva instancia de la clase NameValueCollection que está vacía, tiene la capacidad inicial predeterminada y usa el objeto IEqualityComparer especificado.Initializes a new instance of the NameValueCollection class that is empty, has the default initial capacity, and uses the specified IEqualityComparer object.

NameValueCollection(IHashCodeProvider, IComparer)

Inicializa una nueva instancia de la clase NameValueCollection que está vacía, tiene la capacidad inicial predeterminada y usa el proveedor de código hash y el comparador especificados.Initializes a new instance of the NameValueCollection class that is empty, has the default initial capacity and uses the specified hash code provider and the specified comparer.

NameValueCollection(Int32)

Inicializa una nueva instancia de la clase NameValueCollection que está vacía, tiene la capacidad inicial especificada y usa el proveedor de códigos hash y el comparador predeterminados que no distinguen mayúsculas de minúsculas.Initializes a new instance of the NameValueCollection class that is empty, has the specified initial capacity and uses the default case-insensitive hash code provider and the default case-insensitive comparer.

NameValueCollection(Int32, IEqualityComparer)

Inicializa una nueva instancia de la clase NameValueCollection que está vacía, tiene la capacidad inicial especificada y usa el objeto IEqualityComparer especificado.Initializes a new instance of the NameValueCollection class that is empty, has the specified initial capacity, and uses the specified IEqualityComparer object.

NameValueCollection(Int32, IHashCodeProvider, IComparer)

Inicializa una nueva instancia de la clase NameValueCollection que está vacía, tiene la capacidad inicial especificada y usa el proveedor de códigos hash y el comparador especificados.Initializes a new instance of the NameValueCollection class that is empty, has the specified initial capacity and uses the specified hash code provider and the specified comparer.

NameValueCollection(Int32, NameValueCollection)

Copia las entradas de la clase NameValueCollection especificada en una nueva clase NameValueCollection con la capacidad inicial especificada o con la misma capacidad inicial que el número de entradas copiadas, la que sea mayor, y con el proveedor de códigos hash y el comparador predeterminados que no distinguen mayúsculas de minúsculas.Copies the entries from the specified NameValueCollection to a new NameValueCollection with the specified initial capacity or the same initial capacity as the number of entries copied, whichever is greater, and using the default case-insensitive hash code provider and the default case-insensitive comparer.

NameValueCollection(NameValueCollection)

Copia las entradas de la clase NameValueCollection especificada en una nueva clase NameValueCollection que tiene la misma capacidad inicial que el número de entradas copiadas, usando el mismo proveedor de códigos hash y el mismo comparador que la colección de origen.Copies the entries from the specified NameValueCollection to a new NameValueCollection with the same initial capacity as the number of entries copied and using the same hash code provider and the same comparer as the source collection.

NameValueCollection(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase NameValueCollection que es serializable y usa las clases SerializationInfo y StreamingContext especificadas.Initializes a new instance of the NameValueCollection class that is serializable and uses the specified SerializationInfo and StreamingContext.

Properties

AllKeys

Obtiene todas las claves de NameValueCollection.Gets all the keys in the NameValueCollection.

Count

Obtiene el número de pares de clave y valor incluidos en la instancia NameObjectCollectionBase.Gets the number of key/value pairs contained in the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
IsReadOnly

Obtiene o establece un valor que indica si la instancia NameObjectCollectionBase es de solo lectura.Gets or sets a value indicating whether the NameObjectCollectionBase instance is read-only.

(Inherited from NameObjectCollectionBase)
Item[Int32]

Obtiene la entrada del índice especificado de la colección NameValueCollection.Gets the entry at the specified index of the NameValueCollection.

Item[String]

Obtiene o establece la entrada con la clave especificada en NameValueCollection.Gets or sets the entry with the specified key in the NameValueCollection.

Keys

Obtiene una instancia NameObjectCollectionBase.KeysCollection que contiene todas las claves de la instancia NameObjectCollectionBase.Gets a NameObjectCollectionBase.KeysCollection instance that contains all the keys in the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)

Methods

Add(NameValueCollection)

Copia las entradas del elemento NameValueCollection especificado en el elemento NameValueCollection actual.Copies the entries in the specified NameValueCollection to the current NameValueCollection.

Add(String, String)

Agrega una entrada con el nombre y el valor especificados a NameValueCollection.Adds an entry with the specified name and value to the NameValueCollection.

BaseAdd(String, Object)

Agrega una entrada con la clave y el valor especificados a la instancia NameObjectCollectionBase.Adds an entry with the specified key and value into the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseClear()

Elimina todas las entradas de la instancia NameObjectCollectionBase.Removes all entries from the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseGet(Int32)

Obtiene el valor de la entrada que se encuentra en el índice especificado de la instancia NameObjectCollectionBase.Gets the value of the entry at the specified index of the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseGet(String)

Obtiene el valor de la primera entrada con la clave especificada desde la instancia NameObjectCollectionBase.Gets the value of the first entry with the specified key from the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseGetAllKeys()

Devuelve una matriz String que contiene todas las claves de la instancia NameObjectCollectionBase.Returns a String array that contains all the keys in the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseGetAllValues()

Devuelve una matriz Object que contiene todos los valores de la instancia NameObjectCollectionBase.Returns an Object array that contains all the values in the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseGetAllValues(Type)

Devuelve una matriz del tipo especificado que contiene todos los valores de la instancia NameObjectCollectionBase.Returns an array of the specified type that contains all the values in the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseGetKey(Int32)

Obtiene la clave de la entrada que se encuentra en el índice especificado de la instancia NameObjectCollectionBase.Gets the key of the entry at the specified index of the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseHasKeys()

Obtiene un valor que indica si la instancia NameObjectCollectionBase contiene entradas cuyas claves no son null.Gets a value indicating whether the NameObjectCollectionBase instance contains entries whose keys are not null.

(Inherited from NameObjectCollectionBase)
BaseRemove(String)

Quita las entradas con la clave especificada de la instancia de NameObjectCollectionBase.Removes the entries with the specified key from the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseRemoveAt(Int32)

Elimina la entrada que se encuentra en el índice especificado de la instancia NameObjectCollectionBase.Removes the entry at the specified index of the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseSet(Int32, Object)

Establece el valor de la entrada que se encuentra en el índice especificado de la instancia NameObjectCollectionBase.Sets the value of the entry at the specified index of the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
BaseSet(String, Object)

Establece el valor de la primera entrada con la clave especificada de la instancia NameObjectCollectionBase, si la encuentra; en caso contrario, agrega una entrada con la clave y el valor especificados a la instancia NameObjectCollectionBase.Sets the value of the first entry with the specified key in the NameObjectCollectionBase instance, if found; otherwise, adds an entry with the specified key and value into the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
Clear()

Invalida las matrices almacenadas en caché y quita todas las entradas de NameValueCollection.Invalidates the cached arrays and removes all entries from the NameValueCollection.

CopyTo(Array, Int32)

Copia la totalidad de NameValueCollection en una matriz Array unidimensional compatible, comenzando en el índice especificado de la matriz de destino.Copies the entire NameValueCollection to a compatible one-dimensional Array, starting at the specified index of the target array.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Get(Int32)

Obtiene los valores en el índice especificado de NameValueCollection combinados en una lista y separados por comas.Gets the values at the specified index of the NameValueCollection combined into one comma-separated list.

Get(String)

Obtiene los valores asociados a la clave especificada del elemento NameValueCollection combinados en una lista y separados por comas.Gets the values associated with the specified key from the NameValueCollection combined into one comma-separated list.

GetEnumerator()

Devuelve un enumerador que recorre en iteración la colección NameObjectCollectionBase.Returns an enumerator that iterates through the NameObjectCollectionBase.

(Inherited from NameObjectCollectionBase)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetKey(Int32)

Obtiene la clave en el índice especificado del elemento NameValueCollection.Gets the key at the specified index of the NameValueCollection.

GetObjectData(SerializationInfo, StreamingContext)

Implementa la interfaz de ISerializable y devuelve los datos necesarios para serializar la instancia de NameObjectCollectionBase.Implements the ISerializable interface and returns the data needed to serialize the NameObjectCollectionBase instance.

(Inherited from NameObjectCollectionBase)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
GetValues(Int32)

Obtiene los valores que se encuentran en el índice especificado de NameValueCollection.Gets the values at the specified index of the NameValueCollection.

GetValues(String)

Obtiene los valores asociados a la clave especificada de NameValueCollection.Gets the values associated with the specified key from the NameValueCollection.

HasKeys()

Obtiene un valor que indica si NameValueCollection contiene claves que no son null.Gets a value indicating whether the NameValueCollection contains keys that are not null.

InvalidateCachedArrays()

Restablece las matrices almacenadas en caché de la colección a null.Resets the cached arrays of the collection to null.

MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
OnDeserialization(Object)

Implementa la interfaz ISerializable y genera el evento de deserialización cuando esta ha finalizado.Implements the ISerializable interface and raises the deserialization event when the deserialization is complete.

(Inherited from NameObjectCollectionBase)
Remove(String)

Quita las entradas con la clave especificada de la instancia de NameObjectCollectionBase.Removes the entries with the specified key from the NameObjectCollectionBase instance.

Set(String, String)

Establece el valor de una entrada de NameValueCollection.Sets the value of an entry in the NameValueCollection.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

ICollection.CopyTo(Array, Int32)

Copia la totalidad de NameObjectCollectionBase en una matriz Array unidimensional compatible, comenzando en el índice especificado de la matriz de destino.Copies the entire NameObjectCollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array.

(Inherited from NameObjectCollectionBase)
ICollection.IsSynchronized

Obtiene un valor que indica si el acceso al objeto NameObjectCollectionBase está sincronizado (es seguro para subprocesos).Gets a value indicating whether access to the NameObjectCollectionBase object is synchronized (thread safe).

(Inherited from NameObjectCollectionBase)
ICollection.SyncRoot

Obtiene un objeto que puede utilizarse para sincronizar el acceso al objeto NameObjectCollectionBase.Gets an object that can be used to synchronize access to the NameObjectCollectionBase object.

(Inherited from NameObjectCollectionBase)

Extension Methods

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.Enables parallelization of a query.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

Applies to

Thread Safety

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para subprocesos.Public static (Shared in Visual Basic) members of this type are thread safe. No se garantiza que los miembros de instancia sean seguros para subprocesos.Any instance members are not guaranteed to be thread safe.

Esta implementación no proporciona un contenedor sincronizado (seguro para subprocesos) para un NameValueCollection, pero las clases derivadas pueden crear sus propias versiones sincronizadas de la NameValueCollection mediante la propiedad SyncRoot de la clase NameObjectCollectionBase.This implementation does not provide a synchronized (thread safe) wrapper for a NameValueCollection, but derived classes can create their own synchronized versions of the NameValueCollection using the SyncRoot property of the NameObjectCollectionBase class.

La enumeración a través de una colección no es intrínsecamente un procedimiento seguro para subprocesos.Enumerating through a collection is intrinsically not a thread safe procedure. Incluso cuando una colección está sincronizada, otros subprocesos todavía pueden modificarla, lo que hace que el enumerador produzca una excepción.Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. Con el fin de garantizar la seguridad para la ejecución de subprocesos durante la enumeración, se puede bloquear la colección durante toda la enumeración o detectar las excepciones resultantes de los cambios realizados por otros subprocesos.To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

See also