CultureInfo Construtores
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
Com
CultureInfo("0x0401")
(nome de cultura ar-SA), Calendar é definido GregorianCalendar como (que é a configuração do usuário) e UseUserOverride é definido comotrue
.Com
CultureInfo("0x041E")
(nome da cultura th-TH), Calendar é definido ThaiBuddhistCalendar como (que é o calendário padrão para th-TH) e UseUserOverride é definido comotrue
.
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 false
como .
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:
- Com
CultureInfo("ar-SA")
, Calendar é definido GregorianCalendar como (que é a configuração do usuário) e UseUserOverride é definido comotrue
. - Com
CultureInfo("th-TH")
, Calendar é definido ThaiBuddhistCalendar como (que é o calendário padrão para th-TH) e UseUserOverride é definidotrue
como .
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.
Com
CultureInfo("0x0401", true)
(nome de cultura ar-SA), Calendar é definido GregorianCalendar como (que é a configuração do usuário) e UseUserOverride é definido comotrue
.Com
CultureInfo("0x0401", false)
(nome de cultura ar-SA), Calendar é definido HijriCalendar como (que é o calendário padrão para ar-SA) e UseUserOverride é definidofalse
como .Com
CultureInfo("0x041E", true)
(nome da cultura th-TH), Calendar é definido ThaiBuddhistCalendar como (que é o calendário padrão para th-TH) e UseUserOverride é definido comotrue
.Com
CultureInfo("0x041E", false)
(nome da cultura th-TH), Calendar é definido ThaiBuddhistCalendar como (que é o calendário padrão para th-TH) e UseUserOverride é definido comofalse
.
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.
Com
CultureInfo("ar-SA", true)
, Calendar é definido como GregorianCalendar (que é a configuração do usuário) e UseUserOverride é definidotrue
como .Com
CultureInfo("ar-SA", false)
, Calendar é definido como HijriCalendar (que é o calendário padrão para ar-SA) e UseUserOverride é definidofalse
como .Com
CultureInfo("th-TH", true)
, Calendar é definido como ThaiBuddhistCalendar (que é o calendário padrão para th-TH) e UseUserOverride é definidotrue
como .Com
CultureInfo("th-TH", false)
, Calendar é definido como ThaiBuddhistCalendar (que é o calendário padrão para th-TH) e UseUserOverride é definidofalse
como .
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.