Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

CultureInfo.InvariantCulture (Propiedad)

Obtiene el objeto CultureInfo que es independiente de la referencia cultural (invariable).

Espacio de nombres:  System.Globalization
Ensamblado:  mscorlib (en mscorlib.dll)

public static CultureInfo InvariantCulture { get; }

Valor de propiedad

Tipo: System.Globalization.CultureInfo
Objeto que es independiente de la referencia cultural (invariable).

La referencia cultural invariable es cultura- responde; se asocia el idioma inglés pero no en el país o región. Especifica la referencia cultural invariable por nombre utilizando una cadena vacía ("") en la llamada a un método de creación de instancias de CultureInfo . CultureInfo.InvariantCulture también recupera una instancia de la referencia cultural invariable. Se puede utilizar en casi todos los métodos del espacio de nombres System.Globalization que requieren una referencia cultural. Los objetos devueltos por las propiedades como CompareInfo, DateTimeFormat, y NumberFormat también reflejan las convenciones de comparación de cadenas y el formato de la referencia cultural invariable.

A diferencia de los datos cultura- confidencial, que está sujeto a cambios por la personalización de usuario o junto a las actualizaciones en .NET Framework o el sistema operativo, los datos de la referencia cultural de todos los es estable en el tiempo y a través de referencias culturales instaladas y no se puede personalizar por los usuarios. Esto crea la referencia cultural invariable especialmente útil para las operaciones que requieren los resultados de la cultura- independiente, como operaciones de formato y análisis que conservar los datos con formato, u ordenar y las operaciones de orden que requieren que los datos se muestren en un orden fijo con independencia de la referencia cultural.

Operaciones de cadena

Puede utilizar la referencia cultural invariable para las operaciones cultura- datos de cadena que no se ven afectadas por las convenciones de la referencia cultural del subproceso actual y coherentes entre distintas referencias culturales. Por ejemplo, puede que desee datos ordenados aparezca en un orden fijo o para aplicar un conjunto estándar de convenciones de mayúsculas y minúsculas en cadenas sin tener en cuenta la referencia cultural del subproceso actual. Para ello, se pasa el objeto de InvariantCulture a un método que tiene un parámetro de CultureInfo , como Compare(String, String, Boolean, CultureInfo) y ToUpper(CultureInfo).

Almacenar datos

La propiedad de InvariantCulture se puede utilizar para conservar los datos en un formato de la cultura- independiente. Esto proporciona un formato conocido que no cambie y que se puede utilizar para serializar y deserializar datos entre distintas referencias culturales. Después de que se deserialice los datos, puede dar formato adecuado según las convenciones culturales del usuario actual.

Por ejemplo, si elige para conservar los datos de fecha y hora en formato de cadena, puede pasar el objeto de InvariantCulture al método de DateTime.ToString(String, IFormatProvider) o de DateTimeOffset.ToString(IFormatProvider) para crear la cadena, y puede pasar el objeto de InvariantCulture al método de DateTime.Parse(String, IFormatProvider) o de DateTimeOffset.Parse(String, IFormatProvider, DateTimeStyles) para convertir la cadena a un valor de fecha y hora. Esta técnica garantiza que los valores subyacentes de fecha y hora no cambiarán cuando los datos es leído o escrito por los usuarios de diferentes referencias culturales.

El ejemplo siguiente se utiliza la referencia cultural invariable para conservar un valor de DateTime como cadena. Después analiza la cadena y muestra su valor usando las convenciones de formato de las referencias culturales francesas (Francia) y alemanas (Alemania).


using System;
using System.IO;
using System.Globalization;

public class Example 
{
   public static void Main() 
   {
      // Persist the date and time data.
      StreamWriter sw = new StreamWriter(@".\DateData.dat");

      // Create a DateTime value.      
      DateTime dtIn = DateTime.Now;
      // Retrieve a CultureInfo object.
      CultureInfo invC = CultureInfo.InvariantCulture;

      // Convert the date to a string and write it to a file.
      sw.WriteLine(dtIn.ToString("r", invC));
      sw.Close();

      // Restore the date and time data.
      StreamReader sr = new StreamReader(@".\DateData.dat");
      String input;
      while ((input = sr.ReadLine()) != null) 
      {
         Console.WriteLine("Stored data: {0}\n" , input);    

         // Parse the stored string.
         DateTime dtOut = DateTime.Parse(input, invC, DateTimeStyles.RoundtripKind);

         // Create a French (France) CultureInfo object.
         CultureInfo frFr = new CultureInfo("fr-FR");
         // Displays the date formatted for the "fr-FR" culture.
         Console.WriteLine("Date formatted for the {0} culture: {1}" , 
                           frFr.Name, dtOut.ToString("f", frFr));

         // Creates a German (Germany) CultureInfo object.
         CultureInfo deDe= new CultureInfo("de-De");
         // Displays the date formatted for the "de-DE" culture.
         Console.WriteLine("Date formatted for {0} culture: {1}" , 
                           deDe.Name, dtOut.ToString("f", deDe));
      }
      sr.Close();
   }
}
// The example displays the following output:
//    Stored data: Tue, 15 May 2012 16:34:16 GMT
//    
//    Date formatted for the fr-FR culture: mardi 15 mai 2012 16:34
//    Date formatted for de-DE culture: Dienstag, 15. Mai 2012 16:34


Decisiones de seguridad

Si está creando una decisión de seguridad (como si permitir el acceso a un recurso del sistema) según el resultado de una comparación de cadenas o cambio de casos, no debería utilizar la referencia cultural invariable. En su lugar, debe realizar una comparación ordinal con distinción entre mayúsculas y minúsculas o no mayúsculas y minúsculas llamando a un método que incluya un parámetro de StringComparison y proporcionar StringComparison.Ordinal o StringComparison.OrdinalIgnoreCase como argumento. El código que realiza operaciones cultura- confidenciales de cadena puede producir vulnerabilidades de seguridad si se cambia la referencia cultural actual o si la referencia cultural del equipo que está ejecutando el código difiere de la referencia cultural que se utiliza para probar el código. En cambio, una comparación ordinal depende únicamente del valor binario de los caracteres comparados.

.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft