CultureInfo Constructores

Definición

Inicializa una nueva instancia de la clase CultureInfo.

Sobrecargas

CultureInfo(Int32)

Inicializa una nueva instancia de la clase CultureInfo de acuerdo con la referencia cultural especificada por el identificador de dicha referencia.

CultureInfo(String)

Inicializa una nueva instancia de la clase CultureInfo de acuerdo con la referencia cultural especificada mediante un nombre.

CultureInfo(Int32, Boolean)

Inicializa una nueva instancia de la clase basándose en la referencia cultural especificada por el identificador de referencia cultural y en un valor que especifica si se debe usar la configuración de referencia cultural seleccionada por el CultureInfo usuario Windows.

CultureInfo(String, Boolean)

Inicializa una nueva instancia de la clase basándose en la referencia cultural especificada por nombre y en un valor que especifica si se debe usar la configuración de referencia cultural seleccionada por CultureInfo el usuario de Windows.

CultureInfo(Int32)

Inicializa una nueva instancia de la clase CultureInfo de acuerdo con la referencia cultural especificada por el identificador de dicha referencia.

public:
 CultureInfo(int culture);
public CultureInfo (int culture);
new System.Globalization.CultureInfo : int -> System.Globalization.CultureInfo
Public Sub New (culture As Integer)

Parámetros

culture
Int32

Identificador CultureInfo predefinido, propiedad LCID de un objeto CultureInfo existente, o identificador de referencia cultural solo de Windows.

Excepciones

culture es menor que cero.

culture no es un identificador de referencia cultural válido. Vea la sección Notas para los llamadores para obtener más información.

Comentarios

Los identificadores de referencia cultural predefinidos para las referencia culturales disponibles en Windows system se muestran en la columna Etiqueta de idioma de la lista de nombres de idioma o región admitidos por Windows. Los nombres de las referencias culturales siguen el estándar definido por BCP 47.

En la mayoría de los casos, el parámetro se asigna al identificador de configuración regional de National culture Language Support (NLS) correspondiente. El valor del culture parámetro se convierte en el valor de la propiedad del nuevo LCID CultureInfo .

Se recomienda llamar al constructor de nombres de configuración regional , ya que los nombres de configuración regional son CultureInfo.CultureInfo preferibles a los LCID. Para las configuraciones regionales personalizadas, se requiere un nombre de configuración regional.

El usuario puede optar por invalidar algunos de los valores asociados a la referencia cultural actual de Windows a través de la parte de opciones regional y de idioma de Panel de control. Por ejemplo, el usuario podría optar por mostrar la fecha en un formato diferente o usar una moneda distinta del valor predeterminado para la referencia cultural. Si el identificador de referencia cultural especificado coincide con el identificador de referencia cultural de la referencia cultural Windows actual, este constructor crea un objeto que usa esas invalidaciones, incluida la configuración de usuario para las propiedades de la instancia devuelta por la propiedad y las propiedades de la instancia devuelta por la CultureInfo DateTimeFormatInfo propiedad DateTimeFormat NumberFormatInfo NumberFormat . Si la configuración del usuario no es compatible con la referencia cultural asociada a (por ejemplo, si el calendario seleccionado no es uno de los ) los resultados de los métodos y los valores de las propiedades no están CultureInfo OptionalCalendars definidos.

Si el identificador de referencia cultural especificado no coincide con el identificador de la referencia cultural Windows actual, este constructor crea un objeto que usa los valores predeterminados para CultureInfo la referencia cultural especificada.

La UseUserOverride propiedad siempre se establece en true .

Por ejemplo, suponga que el árabe (Emiratos Árabes Árabes) es la referencia cultural Windows actual y el usuario ha cambiado el calendario de Hijri a gregoriano.

Para las referencia culturales que usan el euro, .NET Framework y Windows XP establecen la moneda predeterminada como euro. Sin embargo, las versiones anteriores Windows no lo hacen. Por lo tanto, si el usuario de una versión anterior de Windows no ha cambiado la configuración de moneda a través de la parte de opciones regionales y de idioma de Panel de control, la moneda podría ser incorrecta. Para usar el .NET Framework predeterminado para la moneda, la aplicación debe usar una sobrecarga de constructor que acepte un parámetro y CultureInfo useUserOverride esta establezca en false .

Nota

Por compatibilidad con versiones anteriores, una referencia cultural construida mediante un parámetro de 0x0004 o 0x7c04 tendrá una culture propiedad de o , Name zh-CHS zh-CHT respectivamente. En su lugar, debe preferir construir la referencia cultural con los nombres de referencia cultural estándar actuales de o , a menos que tenga una razón zh-Hans para usar los nombres zh-Hant anteriores.

Notas a los autores de las llamadas

.NET Framework 3.5 y versiones anteriores inician un ArgumentException si no es un identificador de referencia cultural culture válido. A partir .NET Framework 4, este constructor produce una CultureNotFoundException excepción . A partir de las aplicaciones que se ejecutan en .NET Framework 4 o posterior en Windows 7 o posterior, el método intenta recuperar un objeto cuyo identificador es del sistema operativo; si el sistema operativo no admite esa referencia cultural, el método produce una CultureInfo culture CultureNotFoundException excepción.

En .NET 6 y versiones posteriores, se produce una excepción si la aplicación se ejecuta en un entorno donde está habilitado el modo de globalización invariable, por ejemplo, algunos contenedores de Docker y se especifica una referencia cultural distinta de la referencia cultural CultureNotFoundException invariable.

Consulte también

Se aplica a

CultureInfo(String)

Inicializa una nueva instancia de la clase CultureInfo de acuerdo con la referencia cultural especificada mediante un nombre.

public:
 CultureInfo(System::String ^ name);
public CultureInfo (string name);
new System.Globalization.CultureInfo : string -> System.Globalization.CultureInfo
Public Sub New (name As String)

Parámetros

name
String

Nombre de CultureInfo predefinido, Name de un CultureInfo existente, o nombre de referencia cultural solo de Windows. name no distingue entre mayúsculas y minúsculas.

Excepciones

name es null.

name no es un nombre de referencia cultural válido. Para obtener más información, consulte la sección Notas para los autores de llamada.

Ejemplos

En el ejemplo siguiente se recupera la referencia cultural actual. Si es algo distinto de la referencia cultural francés (Francia), llama al constructor para crear una instancia de un objeto que representa la referencia cultural de francés (Francia) y la convierte en la CultureInfo(String) CultureInfo referencia cultural actual. De lo contrario, crea una instancia de un objeto que representa la referencia cultural CultureInfo francés (Verónica) y la convierte en la referencia cultural actual.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo current = CultureInfo.CurrentCulture;
      Console.WriteLine("The current culture is {0}", current.Name);
      CultureInfo newCulture;
      if (current.Name.Equals("fr-FR"))
         newCulture = new CultureInfo("fr-LU");
      else
         newCulture = new CultureInfo("fr-FR");

      CultureInfo.CurrentCulture = newCulture;
      Console.WriteLine("The current culture is now {0}",
                        CultureInfo.CurrentCulture.Name);
   }
}
// The example displays output like the following:
//     The current culture is en-US
//     The current culture is now fr-FR
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim current As CultureInfo = CultureInfo.CurrentCulture
      Console.WriteLine("The current culture is {0}", current.Name)
      Dim newCulture As CultureInfo
      If current.Name.Equals("fr-FR") Then
         newCulture = New CultureInfo("fr-LU")
      Else   
         newCulture = new CultureInfo("fr-FR")
      End If
      
      CultureInfo.CurrentCulture = newCulture
      Console.WriteLine("The current culture is now {0}", 
                        CultureInfo.CurrentCulture.Name)   
   End Sub
End Module
' The example displays output like the following:
'     The current culture is en-US
'     The current culture is now fr-FR

Comentarios

Para obtener una lista de nombres de referencia cultural predefinidos en Windows, vea la columna Etiqueta de idioma en la lista de nombres de idioma o región admitidos por Windows. Los nombres de las referencias culturales siguen el estándar definido por BCP 47. Además, a partir de Windows 10, name puede ser cualquier etiqueta de idioma BCP-47 válida.

Si es , el constructor crea una instancia de la referencia cultural invariable; esto equivale a recuperar name el valor de la propiedad String.Empty InvariantCulture .

El usuario puede optar por invalidar algunos de los valores asociados a la referencia cultural actual de Windows a través de la parte de opciones regional y de idioma de Panel de control. Por ejemplo, el usuario podría optar por mostrar la fecha en un formato diferente o usar una moneda distinta del valor predeterminado para la referencia cultural. Si el identificador de referencia cultural asociado a coincide con el identificador de referencia cultural de la referencia cultural Windows actual, este constructor crea un objeto que usa esas invalidaciones, incluida la configuración de usuario para las propiedades de la instancia devuelta por la propiedad y las propiedades de la instancia devuelta por la name CultureInfo propiedad DateTimeFormatInfo DateTimeFormat NumberFormatInfo NumberFormat . Si la configuración del usuario no es compatible con la referencia cultural asociada a , por ejemplo, si el calendario seleccionado no es uno de los , los resultados de los métodos y los valores de las propiedades son CultureInfo OptionalCalendars indefinidos.

Si el identificador de referencia cultural asociado a no coincide con el identificador de referencia cultural de la referencia cultural Windows actual, este constructor crea un objeto que usa los valores predeterminados para la referencia cultural name CultureInfo especificada.

La UseUserOverride propiedad siempre se establece en true .

Por ejemplo, suponga que árabe (Emiratos Árabes Árabes) es la referencia cultural actual de Windows y el usuario cambió el calendario de Hijri a gregoriano.

La LCID propiedad del nuevo se establece en el identificador de referencia cultural asociado al nombre CultureInfo especificado.

En el caso de las referencia culturales que usan el euro, .NET Framework y Windows XP establecen la moneda predeterminada como euro. Sin embargo, las versiones anteriores Windows no lo hacen. Por lo tanto, si el usuario de una versión anterior de Windows no ha cambiado la configuración de moneda a través de la parte de opciones regionales y de idioma de Panel de control, la moneda podría ser incorrecta. Para usar el .NET Framework predeterminado para la moneda, la aplicación debe usar una sobrecarga de constructor que acepte un parámetro y CultureInfo useUserOverride esta establezca en false .

Notas a los autores de las llamadas

.NET Framework 3.5 y versiones anteriores inician una ArgumentException excepción si name no es un nombre de referencia cultural válido. A partir .NET Framework 4, este constructor produce una CultureNotFoundException excepción . A partir de las aplicaciones que se ejecutan en .NET Framework 4 o posterior en Windows 7 o posterior, el método intenta recuperar un objeto cuyo identificador es del sistema operativo; si el sistema operativo no admite esa referencia cultural y no es el nombre de una referencia cultural complementaria o de reemplazo, el método produce CultureInfo una name name CultureNotFoundException excepción.

En .NET 6 y versiones posteriores, se produce una excepción si la aplicación se ejecuta en un entorno donde está habilitado el modo de globalización invariable, por ejemplo, algunos contenedores de Docker y se especifica una referencia cultural distinta de la referencia cultural CultureNotFoundException invariable.

Consulte también

Se aplica a

CultureInfo(Int32, Boolean)

Inicializa una nueva instancia de la clase basándose en la referencia cultural especificada por el identificador de referencia cultural y en un valor que especifica si se debe usar la configuración de referencia cultural seleccionada por el CultureInfo usuario Windows.

public:
 CultureInfo(int culture, bool useUserOverride);
public CultureInfo (int culture, bool useUserOverride);
new System.Globalization.CultureInfo : int * bool -> System.Globalization.CultureInfo
Public Sub New (culture As Integer, useUserOverride As Boolean)

Parámetros

culture
Int32

Identificador CultureInfo predefinido, propiedad LCID de un objeto CultureInfo existente, o identificador de referencia cultural solo de Windows.

useUserOverride
Boolean

truepara usar la configuración de referencia cultural seleccionada por el usuario (Windows solo); false para usar la configuración de referencia cultural predeterminada.

Excepciones

culture es menor que cero.

culture no es un identificador de referencia cultural válido. Vea la sección Notas para los llamadores para obtener más información.

Comentarios

Los identificadores de referencias culturales predefinidos que están disponibles en los sistemas Windows se enumeran en la columna Etiqueta de idioma de la lista de nombres de idioma o región admitidos por Windows. Los nombres de las referencias culturales siguen el estándar definido por BCP 47.

En la mayoría de los casos, el parámetro se asigna al identificador de configuración regional de National culture Language Support (NLS) correspondiente. El valor del culture parámetro se convierte en el valor de la propiedad del nuevo LCID CultureInfo .

Se recomienda llamar al constructor de nombres de configuración regional , ya que los nombres de configuración regional son CultureInfo.CultureInfo preferibles a los LCID. Para las configuraciones regionales personalizadas, se requiere un nombre de configuración regional.

El usuario puede optar por invalidar algunos de los valores asociados a la referencia cultural actual de Windows a través de la parte de opciones regional y de idioma de Panel de control. Por ejemplo, el usuario podría optar por mostrar la fecha en un formato diferente o usar una moneda distinta del valor predeterminado para la referencia cultural.

Normalmente, las aplicaciones no deben permitir invalidaciones de usuario. No permitir invalidaciones no garantiza por sí misma la estabilidad de los datos. Para obtener más información, vea la entrada de blog Culture data shouldn't be considered stable (except for Invariant) (Losdatos de referencia cultural no deben considerarse estables (excepto invariables).

Si la propiedad se establece en y el identificador de referencia cultural especificado coincide con el identificador de la referencia cultural de Windows actual, este constructor crea un que usa esas invalidaciones, incluida la configuración de usuario para las propiedades de la instancia devuelta por la propiedad y las propiedades de la instancia devuelta por UseUserOverride true la propiedad CultureInfo DateTimeFormatInfo DateTimeFormat NumberFormatInfo NumberFormat . Si la configuración del usuario no es compatible con la referencia cultural asociada a , por ejemplo, si el calendario seleccionado no es uno de los , los resultados de los métodos y los valores de las propiedades son CultureInfo OptionalCalendars indefinidos.

De lo contrario, este constructor CultureInfo crea un objeto que usa los valores predeterminados para la referencia cultural especificada.

El valor del useUserOverride parámetro se convierte en el valor de la propiedad UseUserOverride .

Por ejemplo, suponga que árabe (Emiratos Árabes Árabes) es la referencia cultural actual de Windows y el usuario ha cambiado el calendario de Hijri a gregoriano.

  • Con CultureInfo("0x0401", true) (nombre de referencia cultural ar-SA), se establece en (que es la configuración de Calendar GregorianCalendar usuario) y UseUserOverride se establece en true .

  • Con (nombre de referencia cultural ar-SA), se establece en (que es el calendario predeterminado para CultureInfo("0x0401", false) Calendar HijriCalendar ar-SA) y UseUserOverride se establece en false .

  • Con (nombre de referencia cultural th-TH), se establece en (que es el calendario predeterminado para CultureInfo("0x041E", true) Calendar ThaiBuddhistCalendar th-TH) y UseUserOverride se establece en true .

  • Con (nombre de referencia cultural th-TH), se establece en (que es el calendario predeterminado para CultureInfo("0x041E", false) Calendar ThaiBuddhistCalendar th-TH) y UseUserOverride se establece en false .

En el caso de las referencia culturales que usan el euro, .NET Framework y Windows XP establecen la moneda predeterminada como euro. Sin embargo, las versiones anteriores Windows no lo hacen. Por lo tanto, si el usuario de una versión anterior de Windows no ha cambiado la configuración de moneda a través de la parte de opciones regionales y de idioma de Panel de control, la moneda podría ser incorrecta. Para usar el .NET Framework predeterminado para la moneda, la aplicación debe establecer el useUserOverride parámetro en false .

Nota

Por compatibilidad con versiones anteriores, una referencia cultural construida mediante un parámetro de 0x0004 o 0x7c04 tendrá una propiedad culture Name de zh-CHS o zh-ZH, respectivamente. En su lugar, debe preferir construir la referencia cultural con los nombres de referencia cultural estándar actuales de o zh-Hant, a menos que tenga una razón para zh-Hans usar los nombres más antiguos.

Notas a los autores de las llamadas

.NET Framework 3.5 y versiones anteriores inician un ArgumentException si no es un identificador de referencia cultural culture válido. A partir .NET Framework 4, este constructor produce una CultureNotFoundException excepción . A partir de las aplicaciones que se ejecutan en .NET Framework 4 o posterior en Windows 7 o posterior, el método intenta recuperar un objeto cuyo identificador es del sistema operativo; si el sistema operativo no admite esa referencia cultural, el método produce una CultureInfo culture CultureNotFoundException excepción.

En .NET 6 y versiones posteriores, se produce una excepción si la aplicación se ejecuta en un entorno donde está habilitado el modo de globalización invariable, por ejemplo, algunos contenedores de Docker y se especifica una referencia cultural distinta de la referencia cultural CultureNotFoundException invariable.

Consulte también

Se aplica a

CultureInfo(String, Boolean)

Inicializa una nueva instancia de la clase basándose en la referencia cultural especificada por nombre y en un valor que especifica si se debe usar la configuración de referencia cultural seleccionada por CultureInfo el usuario de Windows.

public:
 CultureInfo(System::String ^ name, bool useUserOverride);
public CultureInfo (string name, bool useUserOverride);
new System.Globalization.CultureInfo : string * bool -> System.Globalization.CultureInfo
Public Sub New (name As String, useUserOverride As Boolean)

Parámetros

name
String

Nombre de CultureInfo predefinido, Name de un CultureInfo existente, o nombre de referencia cultural solo de Windows. name no distingue entre mayúsculas y minúsculas.

useUserOverride
Boolean

truepara usar la configuración de referencia cultural seleccionada por el usuario (Windows solo); false para usar la configuración de referencia cultural predeterminada.

Excepciones

name es null.

name no es un nombre de referencia cultural válido. Vea la sección Notas para los llamadores para obtener más información.

Comentarios

Para obtener una lista de nombres de referencia cultural predefinidos, vea la columna Etiqueta de idioma en la lista de nombres de idioma o región admitidos por Windows. Los nombres de las referencias culturales siguen el estándar definido por BCP 47. Además, a partir de Windows 10, name puede ser cualquier etiqueta de idioma BCP-47 válida.

Si es , el constructor crea una instancia de la referencia cultural invariable; esto equivale a recuperar name el valor de la propiedad String.Empty InvariantCulture .

El usuario puede optar por invalidar algunos de los valores asociados a la referencia cultural Windows actual a través de la parte de opciones regional y de idioma de Panel de control. Por ejemplo, el usuario podría optar por mostrar la fecha en un formato diferente o usar una moneda distinta del valor predeterminado para la referencia cultural.

Normalmente, las aplicaciones no deben permitir invalidaciones de usuario. No permitir invalidaciones no garantiza por sí misma la estabilidad de los datos. Para obtener más información, vea la entrada de blog Culture data shouldn't be considered stable (except for Invariant) (Losdatos de referencia cultural no deben considerarse estables (excepto invariables).

Si la propiedad se establece en y el identificador de referencia cultural asociado al nombre de referencia cultural especificado coincide con el identificador de referencia cultural de la referencia cultural Windows actual, este constructor crea un objeto que usa esas invalidaciones, incluida la configuración de usuario para las propiedades de la instancia devuelta por la propiedad y las propiedades de la instancia devuelta por UseUserOverride true la propiedad CultureInfo DateTimeFormatInfo DateTimeFormat NumberFormatInfo NumberFormat . Si la configuración del usuario no es compatible con la referencia cultural asociada a , por ejemplo, si el calendario seleccionado no es uno de los , los resultados de los métodos y los valores de las propiedades son CultureInfo OptionalCalendars indefinidos.

De lo contrario, este constructor CultureInfo crea un objeto que usa los valores predeterminados para la referencia cultural especificada.

El valor del useUserOverride parámetro se convierte en el valor de la propiedad UseUserOverride .

Por ejemplo, suponga que árabe (Emiratos Árabes Árabes) es la referencia cultural actual de Windows y el usuario cambió el calendario de Hijri a gregoriano.

La LCID propiedad del nuevo se establece en el identificador de referencia cultural asociado al nombre CultureInfo especificado.

En el caso de las referencia culturales que usan el euro, .NET Framework y Windows XP establecen la moneda predeterminada como euro. Sin embargo, las versiones anteriores Windows no lo hacen. Por lo tanto, si el usuario de una versión anterior de Windows no ha cambiado la configuración de moneda a través de la parte de opciones regionales y de idioma de Panel de control, la moneda podría ser incorrecta. Para usar el .NET Framework predeterminado para la moneda, la aplicación debe establecer el useUserOverride parámetro en false .

Notas a los autores de las llamadas

.NET Framework 3.5 y versiones anteriores inician si ArgumentException no es un nombre de referencia cultural name válido. A partir .NET Framework 4, este constructor produce una CultureNotFoundException excepción . A partir de las aplicaciones que se ejecutan en .NET Framework 4 o posterior en Windows 7 o posterior, el método intenta recuperar un objeto cuyo identificador es del sistema operativo; si el sistema operativo no admite esa referencia cultural y si no es el nombre de una referencia cultural complementaria o de reemplazo, el método produce CultureInfo una name name CultureNotFoundException excepción.

En .NET 6 y versiones posteriores, se produce una excepción si la aplicación se ejecuta en un entorno donde está habilitado el modo de globalización invariable, por ejemplo, algunos contenedores de Docker y se especifica una referencia cultural distinta de la referencia cultural CultureNotFoundException invariable.

Consulte también

Se aplica a