Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

StringDictionary (Clase)

Implementa una tabla hash con la clave y el valor con establecimiento inflexible de tipos de forma que sean cadenas en lugar de objetos.

System.Object
  System.Collections.Specialized.StringDictionary

Espacio de nombres:  System.Collections.Specialized
Ensamblado:  System (en System.dll)
[SerializableAttribute]
public class StringDictionary : IEnumerable

El tipo StringDictionary expone los siguientes miembros.

  Nombre Descripción
Método público Compatible con XNA Framework StringDictionary Inicializa una nueva instancia de la clase StringDictionary.
Arriba
  Nombre Descripción
Propiedad pública Compatible con XNA Framework Count Obtiene el número de pares de clave y valor incluidos en StringDictionary.
Propiedad pública Compatible con XNA Framework IsSynchronized Obtiene un valor que indica si el acceso a StringDictionary está sincronizado (es seguro para la ejecución de subprocesos).
Propiedad pública Compatible con XNA Framework Item Obtiene o establece el valor asociado a la clave especificada.
Propiedad pública Compatible con XNA Framework Keys Obtiene una colección de claves incluidas en StringDictionary.
Propiedad pública Compatible con XNA Framework SyncRoot Obtiene un objeto que se puede utilizar para sincronizar el acceso a StringDictionary.
Propiedad pública Compatible con XNA Framework Values Obtiene una colección de valores incluidos en StringDictionary.
Arriba
  Nombre Descripción
Método público Compatible con XNA Framework Add Agrega una entrada con la clave y el valor especificados a la clase StringDictionary.
Método público Compatible con XNA Framework Clear Quita todas las entradas de StringDictionary.
Método público Compatible con XNA Framework ContainsKey Determina si StringDictionary contiene una clave específica.
Método público Compatible con XNA Framework ContainsValue Determina si StringDictionary contiene un valor específico.
Método público Compatible con XNA Framework CopyTo Copia los valores del diccionario de cadenas en una instancia de Array unidimensional en el índice especificado.
Método público Compatible con XNA Framework Equals(Object) Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Compatible con XNA Framework Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método público Compatible con XNA Framework GetEnumerator Devuelve un enumerador que recorre en iteración el diccionario de cadenas.
Método público Compatible con XNA Framework GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público Compatible con XNA Framework GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método protegido Compatible con XNA Framework MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público Compatible con XNA Framework Remove Quita la entrada con la clave especificada del diccionario de cadenas.
Método público Compatible con XNA Framework ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Arriba
  Nombre Descripción
Método de extensión público AsParallel Habilita la paralelización de una consulta. (Definido por ParallelEnumerable).
Método de extensión público AsQueryable Convierte una interfaz IEnumerable en IQueryable. (Definido por Queryable).
Método de extensión público Compatible con XNA Framework Cast<TResult> Convierte los elementos de IEnumerable en el tipo especificado. (Definido por Enumerable).
Método de extensión público Compatible con XNA Framework OfType<TResult> Filtra los elementos de IEnumerable en función de un tipo especificado. (Definido por Enumerable).
Arriba

Una clave no puede ser null, pero un valor sí.

La clave se controla de forma que no se distinguen mayúsculas de minúsculas y se convierte a minúsculas antes de utilizarla con el diccionario de cadenas.

En el caso de la versión 1.0 de .NET Framework, esta clase utiliza comparaciones de cadenas que tienen en cuenta la referencia cultural. Sin embargo, en la versión 1.1 de .NET Framework y versiones posteriores, esta clase utiliza CultureInfo.InvariantCulture a la hora de comparar cadenas. Para obtener más información acerca de la forma en que la referencia cultural afecta a las comparaciones y a la ordenación, vea Comparar y ordenar datos para una referencia cultural específica y Realizar operaciones de cadenas que no distinguen entre referencias culturales.

En el ejemplo de código siguiente se muestran algunos métodos y propiedades de StringDictionary.


using System;
using System.Collections;
using System.Collections.Specialized;

public class SamplesStringDictionary  {

   public static void Main()  {

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

      // Display the contents of the collection using foreach. This is the preferred method.
      Console.WriteLine( "Displays the elements using foreach:" );
      PrintKeysAndValues1( myCol );

      // Display the contents of the collection using the enumerator.
      Console.WriteLine( "Displays the elements using the IEnumerator:" );
      PrintKeysAndValues2( myCol );

      // Display the contents of the collection using the Keys, Values, Count, and Item properties.
      Console.WriteLine( "Displays the elements using the Keys, Values, Count, and Item properties:" );
      PrintKeysAndValues3( myCol );

      // Copies the StringDictionary to an array with DictionaryEntry elements.
      DictionaryEntry[] myArr = new DictionaryEntry[myCol.Count];
      myCol.CopyTo( myArr, 0 );

      // Displays the values in the array.
      Console.WriteLine( "Displays the elements in the array:" );
      Console.WriteLine( "   KEY        VALUE" );
      for ( int i = 0; i < myArr.Length; i++ )
         Console.WriteLine( "   {0,-10} {1}", myArr[i].Key, myArr[i].Value );
      Console.WriteLine();

      // Searches for a value.
      if ( myCol.ContainsValue( "amarillo" ) )
         Console.WriteLine( "The collection contains the value \"amarillo\"." );
      else
         Console.WriteLine( "The collection does not contain the value \"amarillo\"." );
      Console.WriteLine();

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

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

   }

   // Uses the foreach statement which hides the complexity of the enumerator.
   // NOTE: The foreach statement is the preferred way of enumerating the contents of a collection.
   public static void PrintKeysAndValues1( StringDictionary myCol )  {
      Console.WriteLine( "   KEY                       VALUE" );
      foreach ( DictionaryEntry de in myCol )
         Console.WriteLine( "   {0,-25} {1}", de.Key, de.Value );
      Console.WriteLine();
   }

   // Uses the enumerator. 
   // NOTE: The foreach statement is the preferred way of enumerating the contents of a collection.
   public static void PrintKeysAndValues2( StringDictionary myCol )  {
      IEnumerator myEnumerator = myCol.GetEnumerator();
      DictionaryEntry de;
      Console.WriteLine( "   KEY                       VALUE" );
      while ( myEnumerator.MoveNext() )  {
         de = (DictionaryEntry) myEnumerator.Current;
         Console.WriteLine( "   {0,-25} {1}", de.Key, de.Value );
      }
      Console.WriteLine();
   }

   // Uses the Keys, Values, Count, and Item properties.
   public static void PrintKeysAndValues3( StringDictionary myCol )  {
      String[] myKeys = new String[myCol.Count];
      myCol.Keys.CopyTo( myKeys, 0 );

      Console.WriteLine( "   INDEX KEY                       VALUE" );
      for ( int i = 0; i < myCol.Count; i++ )
         Console.WriteLine( "   {0,-5} {1,-25} {2}", i, myKeys[i], myCol[myKeys[i]] );
      Console.WriteLine();
   }

}

/*
This code produces the following output.

Displays the elements using foreach:
   KEY                       VALUE
   red                       rojo
   blue                      azul
   green                     verde

Displays the elements using the IEnumerator:
   KEY                       VALUE
   red                       rojo
   blue                      azul
   green                     verde

Displays the elements using the Keys, Values, Count, and Item properties:
   INDEX KEY                       VALUE
   0     red                       rojo
   1     blue                      azul
   2     green                     verde

Displays the elements in the array:
   KEY        VALUE
   red        rojo
   blue       azul
   green      verde

The collection does not contain the value "amarillo".

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

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

*/


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Esta implementación no proporciona un contenedor sincronizado (seguro para la ejecución de subprocesos) para una clase StringDictionary, pero las clases derivadas pueden crear sus propias versiones sincronizadas de StringDictionary mediante la propiedad SyncRoot.

Enumerar una colección no es intrínsecamente un procedimiento seguro para subprocesos. Incluso cuando una colección está sincronizada, otros subprocesos todavía pueden modificarla, lo que hace que el enumerador produzca una excepción. Para garantizar la seguridad de los subprocesos durante la enumeración, es posible bloquear la colección durante toda la enumeración o detectar las excepciones resultantes de los cambios realizados por otros subprocesos.

¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar