CultureInfo Construtores
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Inicializa uma nova instância da CultureInfo classe.
Sobrecargas
| Name | Descrição |
|---|---|
| CultureInfo(Int32) |
Inicializa uma nova instância da CultureInfo classe com base na cultura especificada pelo identificador de cultura. |
| CultureInfo(String) |
Inicializa uma nova instância da CultureInfo classe com base na cultura especificada pelo nome. |
| CultureInfo(Int32, Boolean) |
Inicializa uma nova instância da classe CultureInfo com base na cultura especificada pelo identificador de cultura e num valor que especifica se deve usar as definições de cultura selecionadas pelo utilizador a partir de Windows. |
| CultureInfo(String, Boolean) |
Inicializa uma nova instância da classe CultureInfo com base na cultura especificada pelo nome e num valor que especifica se deve usar as definições de cultura selecionadas pelo utilizador a partir de Windows. |
CultureInfo(Int32)
- Origem:
- CultureInfo.cs
- Origem:
- CultureInfo.cs
- 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.
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 pré-definido CultureInfo, LCID propriedade de um objeto existente CultureInfo, ou identificador de cultura apenas Windows.
Exceções
culture é inferior a zero.
culture não é um identificador cultural válido. Consulte a secção Notas para Chamadores para mais informações.
Observações
Identificadores de cultura pré-definidos para culturas disponíveis no sistema Windows estão listados na coluna Language tag na lista lista de nomes de línguas/regiões suportados por Windows. Os nomes das culturas seguem o padrão definido pelo BCP 47.
Na maioria dos casos, o culture parâmetro é mapeado para o identificador local correspondente do National Language Support (NLS). O valor do culture parâmetro torna-se o valor da LCID propriedade do novo CultureInfo.
Recomendamos que chame o nome local de CultureInfo.CultureInfoconstrutor, pois os nomes locais são preferíveis aos LCIDs. Para locais personalizados, é necessário um nome local.
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 coincidir com o identificador de cultura da cultura Windows atual, este construtor cria um CultureInfo que utiliza essas sobrescrituras, incluindo as definições de utilizador para as propriedades da instância DateTimeFormatInfo devolvidas pela propriedade DateTimeFormat e as propriedades da instância NumberFormatInfo devolvidas pela propriedade NumberFormat. Se as definições do utilizador forem incompatíveis com a cultura associada ao CultureInfo (por exemplo, se o calendário selecionado não for um dos OptionalCalendars), os resultados dos métodos e os valores das propriedades ficam indefinidos.
Se o identificador de cultura especificado não corresponder ao identificador da cultura Windows atual, este construtor cria um CultureInfo que utiliza os valores padrão para a cultura especificada.
A UseUserOverride propriedade está sempre definida para true.
Por exemplo, suponha que o árabe (Arábia Saudita) é a cultura atual do Windows e que o utilizador alterou o calendário de Hijri para Gregoriano.
Com
CultureInfo("0x0401")(nome da cultura ar-SA), Calendar é definido como GregorianCalendar (que é a definição do utilizador) e UseUserOverride é definido comotrue.Com (nome da
CultureInfo("0x041E")cultura th-TH), Calendar é definido como ThaiBuddhistCalendar (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, versões mais antigas do Windows não o fazem. Portanto, se o utilizador de uma versão mais antiga do Windows não alterou a definição de moeda através da secção de opções regionais e de língua do Painel de Controlo, a moeda pode estar incorreta. Para usar a definição padrão do .NET Framework para a moeda, a aplicação deve usar uma sobrecarga de construtores CultureInfo que aceite um parâmetro useUserOverride e defina-o para false.
Note
Para compatibilidade retroativa, uma cultura construída usando um culture parâmetro de 0x0004 ou 0x7c04 terá uma Name propriedade de zh-CHS ou zh-CHT, respetivamente. Deves preferir construir a cultura usando os nomes culturais padrão atuais de zh-Hans ou zh-Hant, a menos que tenhas uma razão para usar os nomes mais antigos.
Note
Os LCIDs estão a ser obsoletos, e os implementadores são fortemente encorajados a usar versões mais recentes de APIs que suportem nomes locais BCP 47. Cada LCID pode ser representado por um nome local BCP 47, mas o contrário não é verdade. O intervalo do LCID é restrito e não consegue identificar de forma única todas as combinações possíveis de língua e região.
Notas para Chamadores
.NET Framework 3.5 e versões anteriores lançam um ArgumentException se culture não for um identificador de cultura válido. Começando com .NET Framework 4, este construtor lança um CultureNotFoundException. Começando com aplicações que correm sob .NET Framework 4 ou posteriores Windows 7 ou posteriores, o método tenta recuperar um objeto CultureInfo cujo identificador é culture do sistema operativo; se o sistema operativo não suportar essa cultura, o método lança uma exceção CultureNotFoundException.
Em versões .NET 6 e posteriores, é lançado um CultureNotFoundException se a aplicação estiver a correr num ambiente onde o modo invariante à globalização está ativado, por exemplo, alguns contentores Docker, e uma cultura diferente da cultura invariante é especificada.
Ver também
Aplica-se a
CultureInfo(String)
- Origem:
- CultureInfo.cs
- Origem:
- CultureInfo.cs
- Origem:
- CultureInfo.cs
- Origem:
- CultureInfo.cs
- Origem:
- CultureInfo.cs
Inicializa uma nova instância da CultureInfo classe com base na cultura especificada pelo 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 pré-definido CultureInfo, Name de um nome cultural existente CultureInfo, ou apenas Windows.
name não diferencia maiúsculas de minúsculas.
Exceções
name é null.
name não é um nome cultural válido. Para mais informações, consulte a secção Notas para Chamadores.
Exemplos
O exemplo a seguir recupera a cultura atual. Se for qualquer coisa diferente da cultura francesa (França), chama o CultureInfo(String) construtor para instanciar um CultureInfo objeto que representa a cultura francesa (França) e faz dela a cultura atual. Caso contrário, instaura um CultureInfo objeto que representa a cultura francesa (luxemburguesa) e torna-a 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
Observações
Para uma lista de nomes de cultura pré-definidos em sistemas Windows, veja a coluna Language tag na lista lista de nomes de línguas/regiões suportados por Windows. Os nomes das culturas seguem o padrão definido pelo BCP 47. Além disso, a partir de Windows 10, name pode ser qualquer etiqueta válida da língua BCP-47.
Se name for String.Empty, o construtor cria uma instância da cultura invariante; isto é equivalente 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 a name corresponder ao identificador de cultura da cultura Windows atual, este construtor cria um objeto CultureInfo que utiliza essas sobrescrituras, incluindo as definições de utilizador para as propriedades da instância DateTimeFormatInfo devolvidas pela propriedade DateTimeFormat, e as propriedades da instância NumberFormatInfo devolvidas pela propriedade NumberFormat. Se as configurações do usuário forem incompatíveis com a cultura associada ao CultureInfo, 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 Windows atual, este construtor cria um objeto CultureInfo que utiliza os valores padrão para a cultura especificada.
A UseUserOverride propriedade está sempre definida para true.
Por exemplo, suponha que o árabe (Arábia Saudita) é a cultura atual do Windows e o utilizador alterou o calendário de Hijri para Gregoriano:
- Com
CultureInfo("ar-SA"), Calendar é definido como GregorianCalendar (que é a definição do utilizador) e UseUserOverride está definido comotrue. - Com
CultureInfo("th-TH"), Calendar é definido como ThaiBuddhistCalendar (que é o calendário padrão para th-TH) e UseUserOverride é definido comotrue.
A LCID propriedade do novo CultureInfo é definida para o identificador de cultura associado ao nome especificado.
Notas para Chamadores
.NET Framework 3.5 e versões anteriores lançam um ArgumentException se name não for um nome de cultura válido. Começando com .NET Framework 4, este construtor lança um CultureNotFoundException. Começando com aplicações que correm sob .NET Framework 4 ou posteriores Windows 7 ou posteriores, o método tenta recuperar um objeto CultureInfo cujo identificador é name do sistema operativo; se o sistema operativo não suportar essa cultura, e se name não for o nome de uma cultura suplementar ou substituta, O método lança uma exceção CultureNotFoundException.
Em versões .NET 6 e posteriores, é lançado um CultureNotFoundException se a aplicação estiver a correr num ambiente onde o modo invariante à globalização está ativado, por exemplo, alguns contentores Docker, e uma cultura diferente da cultura invariante é especificada.
Ver também
Aplica-se a
CultureInfo(Int32, Boolean)
- Origem:
- CultureInfo.cs
- Origem:
- CultureInfo.cs
- 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 e num valor que especifica se deve usar as definições de cultura selecionadas pelo utilizador a partir de 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 pré-definido CultureInfo, LCID propriedade de um objeto existente CultureInfo, ou identificador de cultura apenas Windows.
- useUserOverride
- Boolean
true usar as definições de cultura selecionadas pelo utilizador (apenas Windows); false usar as definições de cultura padrão.
Exceções
culture é inferior a zero.
culture não é um identificador cultural válido. Consulte a secção Notas para Chamadores para mais informações.
Observações
Identificadores de cultura pré-definidos disponíveis em sistemas Windows estão listados na coluna Language tag na lista lista de nomes de línguas/regiões suportados por Windows. Os nomes das culturas seguem o padrão definido pelo BCP 47.
Na maioria dos casos, o culture parâmetro é mapeado para o identificador local correspondente do National Language Support (NLS). O valor do culture parâmetro torna-se o valor da LCID propriedade do novo CultureInfo.
Recomendamos que chame o nome local de CultureInfo.CultureInfoconstrutor, pois os nomes locais são preferíveis aos LCIDs. Para locais personalizados, é necessário um nome local.
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.
As aplicações normalmente não devem impedir sobreposições do utilizador. Proibir sobreposições não garante por si só a estabilidade dos dados. Para mais informações, consulte a entrada do blogue Os dados de cultura não devem ser considerados estáveis (exceto para Invariante).
Se a propriedade UseUserOverride estiver definida para true e o identificador de cultura especificado corresponder ao identificador da cultura Windows atual, este construtor cria um CultureInfo que utiliza essas sobrescrituras, incluindo definições de utilizador para as propriedades da instância DateTimeFormatInfo devolvidas pela propriedade DateTimeFormat, e as propriedades da instância NumberFormatInfo devolvidas pela propriedade NumberFormat. Se as configurações do usuário forem incompatíveis com a cultura associada ao CultureInfo, 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, este 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 o árabe (Arábia Saudita) é a cultura atual do Windows e o utilizador alterou o calendário de Hijri para Gregoriano.
Com
CultureInfo("0x0401", true)(nome da cultura ar-SA), Calendar é definido como GregorianCalendar (que é a definição do utilizador) e UseUserOverride é definido comotrue.Com (nome da
CultureInfo("0x0401", false)cultura ar-SA), Calendar é definido como HijriCalendar (que é o calendário padrão para ar-SA) e UseUserOverride é definido comofalse.Com (nome da
CultureInfo("0x041E", true)cultura th-TH), Calendar é definido como ThaiBuddhistCalendar (que é o calendário padrão para th-TH) e UseUserOverride é definido comotrue.Com (nome da
CultureInfo("0x041E", false)cultura th-TH), Calendar é definido como ThaiBuddhistCalendar (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 o fazem. Portanto, se o utilizador de uma versão mais antiga do Windows não alterou a definição de moeda através da secção de opções regionais e de língua do Painel de Controlo, a moeda pode estar incorreta. Para usar a definição padrão do .NET Framework para a moeda, a aplicação deve definir o parâmetro useUserOverride para false.
Note
Para compatibilidade retroativa, uma cultura construída usando um culture parâmetro de 0x0004 ou 0x7c04 terá uma Name propriedade de zh-CHS ou zh-CHT, respetivamente. Deves preferir construir a cultura usando os nomes culturais padrão atuais de zh-Hans ou zh-Hant, a menos que tenhas uma razão para usar os nomes mais antigos.
Note
Os LCIDs estão a ser obsoletos, e os implementadores são fortemente encorajados a usar versões mais recentes de APIs que suportem nomes locais BCP 47. Cada LCID pode ser representado por um nome local BCP 47, mas o contrário não é verdade. O intervalo do LCID é restrito e não consegue identificar de forma única todas as combinações possíveis de língua e região.
Notas para Chamadores
.NET Framework 3.5 e versões anteriores lançam um ArgumentException se culture não for um identificador de cultura válido. Começando com .NET Framework 4, este construtor lança um CultureNotFoundException. Começando com aplicações que correm sob .NET Framework 4 ou posteriores Windows 7 ou posteriores, o método tenta recuperar um objeto CultureInfo cujo identificador é culture do sistema operativo; se o sistema operativo não suportar essa cultura, o método lança uma exceção CultureNotFoundException.
Em versões .NET 6 e posteriores, é lançado um CultureNotFoundException se a aplicação estiver a correr num ambiente onde o modo invariante à globalização está ativado, por exemplo, alguns contentores Docker, e uma cultura diferente da cultura invariante é especificada.
Ver também
Aplica-se a
CultureInfo(String, Boolean)
- Origem:
- CultureInfo.cs
- Origem:
- CultureInfo.cs
- Origem:
- CultureInfo.cs
- Origem:
- CultureInfo.cs
- Origem:
- CultureInfo.cs
Inicializa uma nova instância da classe CultureInfo com base na cultura especificada pelo nome e num valor que especifica se deve usar as definições de cultura selecionadas pelo utilizador a partir 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
Um nome pré-definido CultureInfo, Name de um nome cultural existente CultureInfo, ou apenas Windows.
name não diferencia maiúsculas de minúsculas.
- useUserOverride
- Boolean
true usar as definições de cultura selecionadas pelo utilizador (apenas Windows); false usar as definições de cultura padrão.
Exceções
name é null.
name não é um nome cultural válido. Consulte a secção Notas para Chamadores para mais informações.
Observações
Para uma lista de nomes de cultura pré-definidos, consulte a coluna Language tag na lista lista de nomes de línguas/regiões suportados por Windows. Os nomes das culturas seguem o padrão definido pelo BCP 47. Além disso, a partir de Windows 10, name pode ser qualquer etiqueta válida da língua BCP-47.
Se name for String.Empty, o construtor cria uma instância da cultura invariante; isto é equivalente a recuperar o valor da InvariantCulture propriedade.
O utilizador pode optar por sobrescrever alguns dos valores associados à cultura atual do Windows através da parte regional e de opções de idioma do Painel de Controlo. 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.
As aplicações normalmente não devem impedir sobreposições do utilizador. Proibir sobreposições não garante por si só a estabilidade dos dados. Para mais informações, consulte a entrada do blogue Os dados de cultura não devem ser considerados estáveis (exceto para Invariante).
Se a propriedade UseUserOverride estiver definida como true e o identificador de cultura associado ao nome de cultura especificado corresponder ao identificador de cultura da cultura Windows atual, este construtor cria um CultureInfo que utiliza essas sobrescrituras, incluindo definições de utilizador para as propriedades da instância DateTimeFormatInfo devolvida pela propriedade DateTimeFormat, e as propriedades da instância NumberFormatInfo devolvidas pela propriedade NumberFormat. Se as configurações do usuário forem incompatíveis com a cultura associada ao CultureInfo, 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, este 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 o árabe (Arábia Saudita) é a cultura atual do Windows e o utilizador alterou o calendário de Hijri para Gregoriano.
Com
CultureInfo("ar-SA", true), Calendar é definido como GregorianCalendar (que é a definição do utilizador) e UseUserOverride está definido comotrue.Com
CultureInfo("ar-SA", false), Calendar é definido como HijriCalendar (que é o calendário padrão para ar-SA) e UseUserOverride é definido comofalse.Com
CultureInfo("th-TH", true), Calendar é definido como ThaiBuddhistCalendar (que é o calendário padrão para th-TH) e UseUserOverride é definido comotrue.Com
CultureInfo("th-TH", false), Calendar é definido como ThaiBuddhistCalendar (que é o calendário padrão para th-TH) e UseUserOverride é definido comofalse.
A LCID propriedade do novo CultureInfo é definida para 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 isto. Portanto, se o utilizador de uma versão mais antiga do Windows não alterou a definição de moeda através da secção de opções regionais e de língua do Painel de Controlo, a moeda pode estar incorreta. Para usar a definição padrão do .NET Framework para a moeda, a aplicação deve definir o parâmetro useUserOverride para false.
Notas para Chamadores
.NET Framework 3.5 e versões anteriores lançam um ArgumentException se name não for um nome de cultura válido. Começando com .NET Framework 4, este construtor lança um CultureNotFoundException. Começando com aplicações que correm sob .NET Framework 4 ou posteriores Windows 7 ou posteriores, o método tenta recuperar um objeto CultureInfo cujo identificador é name do sistema operativo; se o sistema operativo não suportar essa cultura, e se name não for o nome de uma cultura suplementar ou substituta, O método lança uma exceção CultureNotFoundException.
Em versões .NET 6 e posteriores, é lançado um CultureNotFoundException se a aplicação estiver a correr num ambiente onde o modo invariante à globalização está ativado, por exemplo, alguns contentores Docker, e uma cultura diferente da cultura invariante é especificada.