Partilhar via


CultureInfo Construtores

Definição

Inicializa uma nova instância da classe CultureInfo.

Sobrecargas

CultureInfo(Int32)

Inicializa uma nova instância da classe CultureInfo com base na cultura especificada pelo identificador de cultura.

CultureInfo(String)

Inicializa uma nova instância da classe CultureInfo com base na cultura especificada por nome.

CultureInfo(Int32, Boolean)

Inicializa uma nova instância da CultureInfo classe com base na cultura especificada pelo identificador de cultura e em um valor que especifica se as configurações de cultura selecionadas pelo usuário devem ser usadas do Windows.

CultureInfo(String, Boolean)

Inicializa uma nova instância da CultureInfo classe com base na cultura especificada pelo nome e em um valor que especifica se as configurações de cultura selecionadas pelo usuário devem ser usadas do Windows.

CultureInfo(Int32)

Origem:
CultureInfo.cs
Origem:
CultureInfo.cs
Origem:
CultureInfo.cs

Inicializa uma nova instância da classe CultureInfo com base na cultura especificada pelo identificador de cultura.

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

Um identificador CultureInfo predefinido, a propriedade LCID de um objeto CultureInfo existente ou identificador de cultura somente do Windows.

Exceções

culture é menor que zero.

culture não é um identificador de cultura válido. Para obter mais informações, consulte a seção Observações para chamadores.

Comentários

Identificadores de cultura predefinidos para culturas disponíveis no sistema Windows estão listados na coluna Marca de idioma na lista de nomes de idioma/região com suporte do Windows. Os nomes de cultura seguem o padrão definido pelo BCP 47.

Na maioria dos casos, o culture parâmetro é mapeado para o identificador de localidade nls (Suporte à Linguagem Nacional) correspondente. O valor do culture parâmetro torna-se o valor da LCID propriedade do novo CultureInfo.

Recomendamos que você chame o construtor CultureInfo.CultureInfode nome de localidade , pois os nomes de localidade são preferíveis aos LCIDs. Para localidades personalizadas, é necessário um nome de localidade.

O usuário pode optar por substituir alguns dos valores associados à cultura atual do Windows por meio da parte de opções regionais e de idioma do Painel de Controle. Por exemplo, o usuário pode optar por exibir a data em um formato diferente ou usar uma moeda diferente do padrão para a cultura. Se o identificador de cultura especificado corresponder ao identificador de cultura da cultura atual do Windows, esse construtor criará um CultureInfo que usa essas substituições, incluindo configurações de usuário para as propriedades da DateTimeFormatInfo instância retornadas pela DateTimeFormat propriedade e as propriedades da NumberFormatInfo instância retornadas pela NumberFormat propriedade . Se as configurações do usuário forem incompatíveis com a cultura associada CultureInfo ao (por exemplo, se o calendário selecionado não for um dos OptionalCalendars) os resultados dos métodos e os valores das propriedades serão indefinidos.

Se o identificador de cultura especificado não corresponder ao identificador da cultura atual do Windows, esse construtor criará um CultureInfo que usa os valores padrão para a cultura especificada.

A UseUserOverride propriedade é sempre definida como true.

Por exemplo, suponha que árabe (Arábia Saudita) seja a cultura atual do Windows e o usuário tenha alterado o calendário de Hijri para gregoriano.

Para culturas que usam o euro, o .NET Framework e o Windows XP definem a moeda padrão como euro. No entanto, as versões mais antigas do Windows não. Portanto, se o usuário de uma versão mais antiga do Windows não tiver alterado a configuração de moeda por meio da parte de opções regionais e de idioma do Painel de Controle, a moeda poderá estar incorreta. Para usar a configuração padrão do .NET Framework para a moeda, o aplicativo deve usar uma CultureInfo sobrecarga de construtor que aceite um useUserOverride parâmetro e defina-o falsecomo .

Observação

Para compatibilidade com versões anteriores, uma cultura construída usando um culture parâmetro de 0x0004 ou 0x7c04 terá uma Name propriedade de zh-CHS ou zh-CHT, respectivamente. Em vez disso, você deve preferir construir a cultura usando os nomes de cultura padrão atuais de zh-Hans ou zh-Hant, a menos que você tenha um motivo para usar os nomes mais antigos.

Notas aos Chamadores

O .NET Framework 3.5 e versões anteriores lançam um ArgumentException se culture não for um identificador de cultura válido. A partir do .NET Framework 4, esse construtor lança um CultureNotFoundException. Começando com aplicativos executados no .NET Framework 4 ou posterior no Windows 7 ou posterior, o método tenta recuperar um CultureInfo objeto cujo identificador é culture do sistema operacional; se o sistema operacional não der suporte a essa cultura, o método gerará uma CultureNotFoundException exceção.

No .NET 6 e versões posteriores, um CultureNotFoundException será gerado se o aplicativo estiver em execução em um ambiente em que o modo invariável de globalização está habilitado, por exemplo, alguns contêineres do Docker e uma cultura diferente da cultura invariável é especificada.

Confira também

Aplica-se a

CultureInfo(String)

Origem:
CultureInfo.cs
Origem:
CultureInfo.cs
Origem:
CultureInfo.cs

Inicializa uma nova instância da classe CultureInfo com base na cultura especificada por nome.

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

Um nome de CultureInfo predefinido, Name de um CultureInfo existente, ou o nome da cultura somente do Windows. name não diferencia maiúsculas de minúsculas.

Exceções

name é nulo.

name não é um nome de cultura válido. Para obter mais informações, consulte a seção Observações para Chamadores.

Exemplos

O exemplo a seguir recupera a cultura atual. Se for algo diferente da cultura francesa (França), ele chama o CultureInfo(String) construtor para instanciar um CultureInfo objeto que representa a cultura francesa (França) e a torna a cultura atual. Caso contrário, ele cria uma instância de um CultureInfo objeto que representa a cultura francesa (Luxemburgo) e a torna a cultura atual.

using System;
using System.Globalization;

public class ChangeEx1
{
    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

Comentários

Para obter uma lista de nomes de cultura predefinidos em sistemas Windows, consulte a coluna Marca de idioma na lista de nomes de idioma/região compatíveis com o Windows. Os nomes de cultura seguem o padrão definido pelo BCP 47. Além disso, a partir do Windows 10, name pode ser qualquer marca de idioma BCP-47 válida.

Se name for String.Empty, o construtor criará uma instância da cultura invariável; isso equivale a recuperar o valor da InvariantCulture propriedade.

O usuário pode optar por substituir alguns dos valores associados à cultura atual do Windows por meio da parte de opções regionais e de idioma do Painel de Controle. Por exemplo, o usuário pode optar por exibir a data em um formato diferente ou usar uma moeda diferente do padrão para a cultura. Se o identificador de cultura associado name a corresponder ao identificador de cultura da cultura atual do Windows, esse construtor criará um CultureInfo objeto que usa essas substituições, incluindo configurações de usuário para as propriedades da DateTimeFormatInfo instância retornadas pela DateTimeFormat propriedade e as propriedades da NumberFormatInfo instância retornadas pela NumberFormat propriedade . Se as configurações do usuário forem incompatíveis com a cultura associada CultureInfoao , por exemplo, se o calendário selecionado não for um dos OptionalCalendars, os resultados dos métodos e os valores das propriedades serão indefinidos.

Se o identificador de cultura associado a name não corresponder ao identificador de cultura da cultura atual do Windows, esse construtor criará um CultureInfo objeto que usa os valores padrão para a cultura especificada.

A UseUserOverride propriedade é sempre definida como true.

Por exemplo, suponha que árabe (Arábia Saudita) seja a cultura atual do Windows e o usuário alterou o calendário de Hijri para gregoriano:

A LCID propriedade do novo CultureInfo é definida como o identificador de cultura associado ao nome especificado.

Notas aos Chamadores

O .NET Framework 3.5 e versões anteriores lançam um ArgumentException se name não for um nome de cultura válido. A partir do .NET Framework 4, esse construtor lança um CultureNotFoundException. Começando com aplicativos executados no .NET Framework 4 ou posterior no Windows 7 ou posterior, o método tenta recuperar um CultureInfo objeto cujo identificador é name do sistema operacional; se o sistema operacional não der suporte a essa cultura e se name não for o nome de uma cultura complementar ou de substituição, o método gerará uma CultureNotFoundException exceção.

No .NET 6 e versões posteriores, um CultureNotFoundException será gerado se o aplicativo estiver em execução em um ambiente em que o modo invariável de globalização está habilitado, por exemplo, alguns contêineres do Docker e uma cultura diferente da cultura invariável é especificada.

Confira também

Aplica-se a

CultureInfo(Int32, Boolean)

Origem:
CultureInfo.cs
Origem:
CultureInfo.cs
Origem:
CultureInfo.cs

Inicializa uma nova instância da CultureInfo classe com base na cultura especificada pelo identificador de cultura e em um valor que especifica se as configurações de cultura selecionadas pelo usuário devem ser usadas do 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

Um identificador CultureInfo predefinido, a propriedade LCID de um objeto CultureInfo existente ou identificador de cultura somente do Windows.

useUserOverride
Boolean

true para usar as configurações de cultura selecionadas pelo usuário (somente Windows); false para usar as configurações de cultura padrão.

Exceções

culture é menor que zero.

culture não é um identificador de cultura válido. Para obter mais informações, consulte a seção Observações para chamadores.

Comentários

Os identificadores de cultura predefinidos disponíveis em sistemas Windows estão listados na coluna Marca de idioma na lista de nomes de idioma/região com suporte do Windows. Os nomes de cultura seguem o padrão definido pelo BCP 47.

Na maioria dos casos, o culture parâmetro é mapeado para o identificador de localidade nls (Suporte à Linguagem Nacional) correspondente. O valor do culture parâmetro torna-se o valor da LCID propriedade do novo CultureInfo.

Recomendamos que você chame o construtor CultureInfo.CultureInfode nome de localidade , pois os nomes de localidade são preferíveis aos LCIDs. Para localidades personalizadas, é necessário um nome de localidade.

O usuário pode optar por substituir alguns dos valores associados à cultura atual do Windows por meio da parte de opções regionais e de idioma do Painel de Controle. Por exemplo, o usuário pode optar por exibir a data em um formato diferente ou usar uma moeda diferente do padrão para a cultura.

Normalmente, os aplicativos não devem não permitir substituições de usuário. Não permitir substituições em si não garante a estabilidade dos dados. Para obter mais informações, consulte a entrada de blog Dados de cultura não devem ser considerados estáveis (exceto para Invariáveis).

Se a UseUserOverride propriedade for definida true como e o identificador de cultura especificado corresponder ao identificador da cultura atual do Windows, esse construtor criará um CultureInfo que usa essas substituições, incluindo as configurações do usuário para as propriedades da DateTimeFormatInfo instância retornadas pela DateTimeFormat propriedade e as propriedades da NumberFormatInfo instância retornadas pela NumberFormat propriedade . Se as configurações do usuário forem incompatíveis com a cultura associada CultureInfoao , por exemplo, se o calendário selecionado não for um dos OptionalCalendars, os resultados dos métodos e os valores das propriedades serão indefinidos.

Caso contrário, esse construtor cria um CultureInfo que usa os valores padrão para a cultura especificada.

O valor do useUserOverride parâmetro torna-se o valor da UseUserOverride propriedade .

Por exemplo, suponha que árabe (Arábia Saudita) seja a cultura atual do Windows e o usuário tenha alterado o calendário de Hijri para gregoriano.

Para culturas que usam o euro, o .NET Framework e o Windows XP definem a moeda padrão como euro. No entanto, versões mais antigas do Windows não. Portanto, se o usuário de uma versão mais antiga do Windows não tiver alterado a configuração de moeda por meio da parte de opções regionais e de idioma do Painel de Controle, a moeda poderá estar incorreta. Para usar a configuração padrão do .NET Framework para a moeda, o aplicativo deve definir o useUserOverride parâmetro como false.

Observação

Para compatibilidade com versões anteriores, uma cultura construída usando um culture parâmetro de 0x0004 ou 0x7c04 terá uma Name propriedade de zh-CHS ou zh-CHT, respectivamente. Em vez disso, você deve preferir construir a cultura usando os nomes de cultura padrão atuais de zh-Hans ou zh-Hant, a menos que você tenha um motivo para usar os nomes mais antigos.

Notas aos Chamadores

O .NET Framework 3.5 e versões anteriores lançam um ArgumentException se culture não for um identificador de cultura válido. A partir do .NET Framework 4, esse construtor lança um CultureNotFoundException. Começando com aplicativos executados no .NET Framework 4 ou posterior no Windows 7 ou posterior, o método tenta recuperar um CultureInfo objeto cujo identificador é culture do sistema operacional; se o sistema operacional não der suporte a essa cultura, o método gerará uma CultureNotFoundException exceção.

No .NET 6 e versões posteriores, um CultureNotFoundException será gerado se o aplicativo estiver em execução em um ambiente em que o modo invariável de globalização está habilitado, por exemplo, alguns contêineres do Docker e uma cultura diferente da cultura invariável é especificada.

Confira também

Aplica-se a

CultureInfo(String, Boolean)

Origem:
CultureInfo.cs
Origem:
CultureInfo.cs
Origem:
CultureInfo.cs

Inicializa uma nova instância da CultureInfo classe com base na cultura especificada pelo nome e em um valor que especifica se as configurações de cultura selecionadas pelo usuário devem ser usadas do 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

Um nome de CultureInfo predefinido, Name de um CultureInfo existente, ou o nome da cultura somente do Windows. name não diferencia maiúsculas de minúsculas.

useUserOverride
Boolean

true para usar as configurações de cultura selecionadas pelo usuário (somente Windows); false para usar as configurações de cultura padrão.

Exceções

name é nulo.

name não é um nome de cultura válido. Para obter mais informações, consulte a seção Observações para chamadores.

Comentários

Para obter uma lista de nomes de cultura predefinidos, consulte a coluna Marca de idioma na lista de nomes de idioma/região compatíveis com o Windows. Os nomes de cultura seguem o padrão definido pelo BCP 47. Além disso, a partir do Windows 10, name pode ser qualquer marca de idioma BCP-47 válida.

Se name for String.Empty, o construtor criará uma instância da cultura invariável; isso equivale a recuperar o valor da InvariantCulture propriedade.

O usuário pode optar por substituir alguns dos valores associados à cultura atual do Windows por meio da parte de opções regionais e de idioma do Painel de Controle. Por exemplo, o usuário pode optar por exibir a data em um formato diferente ou usar uma moeda diferente do padrão para a cultura.

Normalmente, os aplicativos não devem não permitir substituições de usuário. Não permitir substituições em si não garante a estabilidade dos dados. Para obter mais informações, consulte a entrada de blog Dados de cultura não devem ser considerados estáveis (exceto invariáveis).

Se a UseUserOverride propriedade estiver definida como true e o identificador de cultura associado ao nome de cultura especificado corresponder ao identificador de cultura da cultura atual do Windows, esse construtor criará um CultureInfo que usa essas substituições, incluindo as configurações do usuário para as propriedades da DateTimeFormatInfo instância retornadas pela DateTimeFormat propriedade e as propriedades da NumberFormatInfo instância retornadas pela NumberFormat propriedade . Se as configurações do usuário forem incompatíveis com a cultura associada CultureInfoao , por exemplo, se o calendário selecionado não for um dos OptionalCalendars, os resultados dos métodos e os valores das propriedades serão indefinidos.

Caso contrário, esse construtor criará um CultureInfo que usa os valores padrão para a cultura especificada.

O valor do useUserOverride parâmetro torna-se o valor da UseUserOverride propriedade .

Por exemplo, suponha que árabe (Arábia Saudita) seja a cultura atual do Windows e o usuário alterou o calendário de Hijri para gregoriano.

A LCID propriedade do novo CultureInfo é definida como o identificador de cultura associado ao nome especificado.

Para culturas que usam o euro, o .NET Framework e o Windows XP definem a moeda padrão como euro. No entanto, versões mais antigas do Windows não fazem isso. Portanto, se o usuário de uma versão mais antiga do Windows não tiver alterado a configuração de moeda por meio da parte de opções regionais e de idioma do Painel de Controle, a moeda poderá estar incorreta. Para usar a configuração padrão do .NET Framework para a moeda, o aplicativo deve definir o useUserOverride parâmetro como false.

Notas aos Chamadores

O .NET Framework 3.5 e versões anteriores lançam um ArgumentException se name não for um nome de cultura válido. A partir do .NET Framework 4, esse construtor lança um CultureNotFoundException. Começando com aplicativos executados no .NET Framework 4 ou posterior no Windows 7 ou posterior, o método tenta recuperar um CultureInfo objeto cujo identificador é name do sistema operacional; se o sistema operacional não der suporte a essa cultura e se name não for o nome de uma cultura complementar ou de substituição, o método gerará uma CultureNotFoundException exceção.

No .NET 6 e versões posteriores, um CultureNotFoundException será gerado se o aplicativo estiver em execução em um ambiente em que o modo invariável de globalização está habilitado, por exemplo, alguns contêineres do Docker e uma cultura diferente da cultura invariável é especificada.

Confira também

Aplica-se a