CultureInfo.GetCultureInfo 方法

定义

检索某个区域性的缓存的只读实例。

重载

GetCultureInfo(String, Boolean)

检索某个区域性的缓存的只读实例。

GetCultureInfo(String, String)

检索某个区域性的缓存的只读实例。 参数指定了一个使用 TextInfoCompareInfo 对象进行初始化的区域性,而这些对象则是由另一个区域性指定的。

GetCultureInfo(Int32)

使用特定的区域性标识符检索某个区域性的缓存的只读实例。

GetCultureInfo(String)

使用特定的区域性名称检索某个区域性的缓存的只读实例。

GetCultureInfo(String, Boolean)

检索某个区域性的缓存的只读实例。

public:
 static System::Globalization::CultureInfo ^ GetCultureInfo(System::String ^ name, bool predefinedOnly);
public static System.Globalization.CultureInfo GetCultureInfo (string name, bool predefinedOnly);
static member GetCultureInfo : string * bool -> System.Globalization.CultureInfo
Public Shared Function GetCultureInfo (name As String, predefinedOnly As Boolean) As CultureInfo

参数

name
String

区域性的名称。 此名称不区分大小写。

predefinedOnly
Boolean

如果请求创建平台已知的区域性的实例,则为 true。 如果即使平台未包含创建的区域性的数据,也可以检索此区域性,则为 false

返回

CultureInfo

区域性的只读实例。

注解

默认情况下,尝试创建任何区域性和基础平台 (Windows NLS 或 ICU) 不携带此区域性的特定数据时,平台将尝试使用其他区域性或某些常量值的数据构造区域性。

true设置为predefinedOnly确保仅当平台具有该区域性的实际数据时,才会创建区域性。

适用于

GetCultureInfo(String, String)

检索某个区域性的缓存的只读实例。 参数指定了一个使用 TextInfoCompareInfo 对象进行初始化的区域性,而这些对象则是由另一个区域性指定的。

public:
 static System::Globalization::CultureInfo ^ GetCultureInfo(System::String ^ name, System::String ^ altName);
public static System.Globalization.CultureInfo GetCultureInfo (string name, string altName);
static member GetCultureInfo : string * string -> System.Globalization.CultureInfo
Public Shared Function GetCultureInfo (name As String, altName As String) As CultureInfo

参数

name
String

区域性的名称。 name 不区分大小写。

altName
String

区域性的名称提供了 TextInfoCompareInfo 对象,这些对象用于对 name 进行初始化。 altName 不区分大小写。

返回

CultureInfo

只读 CultureInfo 对象。

例外

namealtName 为 null。

namealtName 用于指定不支持的区域性。 有关详细信息,请参阅“调用方备注”部分。

注解

有关Windows系统上预定义区域性名称的列表,请参阅 Windows支持的语言/区域名称列表中的语言标记 列。 列名遵循 BCP 47 定义的标准。 此外,从 Windows 10 开始,name可以是任何有效的 BCP-47 语言标记。

该方法 GetCultureInfo 获取缓存的只读 CultureInfo 对象。 它的性能优于对 CultureInfo 构造函数的相应调用。 该方法用于创建类似于参数指定的 name 区域性,但使用不同的排序和大小写规则。

如果 namealtName 为当前区域性的名称,则返回的对象不会反映任何用户替代。 String.Empty如果是name,该方法返回固定区域性。 这相当于检索属性的值 InvariantCultureString.Empty如果是altName,该方法使用写入系统和由固定区域性指定的比较规则。

调用方说明

.NET Framework 3.5 及更低版本引发 ArgumentException if namealtName不是有效的区域性名称。 从 .NET Framework 4 开始,此方法将引发一个 CultureNotFoundException。 从在 Windows 7 或更高版本的 .NET Framework 4 或更高版本下运行的应用开始,该方法会尝试检索CultureInfo标识符name来自操作系统的对象;如果操作系统不支持该区域性,并且name不是补充区域性或替换区域性的名称,该方法将引发异常CultureNotFoundException。 从在 Windows 7 或更高版本的 .NET Framework 4 或更高版本下运行的应用开始,该方法会尝试检索CultureInfo标识符name来自操作系统的对象;如果操作系统不支持该区域性,并且name不是补充区域性或替换区域性的名称,该方法将引发异常CultureNotFoundException

在 .NET 6 及更高版本中, CultureNotFoundException 如果应用在启用了全球化固定模式的环境中运行,例如,某些 Docker 容器和指定固定区域性以外的区域性,则会引发一个。

另请参阅

适用于

GetCultureInfo(Int32)

使用特定的区域性标识符检索某个区域性的缓存的只读实例。

public:
 static System::Globalization::CultureInfo ^ GetCultureInfo(int culture);
public static System.Globalization.CultureInfo GetCultureInfo (int culture);
static member GetCultureInfo : int -> System.Globalization.CultureInfo
Public Shared Function GetCultureInfo (culture As Integer) As CultureInfo

参数

culture
Int32

区域设置标识符 (LCID)。

返回

CultureInfo

只读 CultureInfo 对象。

例外

culture 小于零。

culture 指定不支持的区域性。 有关详细信息,请参阅“调用方备注”部分。

注解

建议使用此方法的字符串重载 (GetCultureInfo(String)) ,因为应使用区域设置名称而不是 LCID。 对于自定义区域设置,需要区域设置名称。

如果 culture 当前区域性的区域设置标识符,则 CultureInfo 返回的对象不会反映任何用户替代。

调用方说明

.NET Framework 3.5 及更早版本引发ArgumentException(如果culture不是有效的区域性标识符)。 从 .NET Framework 4 开始,此方法将引发一个 CultureNotFoundException。 从Windows 7 或更高版本的 .NET Framework 4 或更高版本运行的应用开始,该方法会尝试检索CultureInfo标识符culture来自操作系统的对象;如果操作系统不支持该区域性,该方法将引发一个CultureNotFoundException

在 .NET 6 及更高版本上, CultureNotFoundException 如果应用在启用了全球化固定模式的环境中运行,例如,某些 Docker 容器和指定固定区域性以外的区域性,则会引发一个。

另请参阅

适用于

GetCultureInfo(String)

使用特定的区域性名称检索某个区域性的缓存的只读实例。

public:
 static System::Globalization::CultureInfo ^ GetCultureInfo(System::String ^ name);
public static System.Globalization.CultureInfo GetCultureInfo (string name);
static member GetCultureInfo : string -> System.Globalization.CultureInfo
Public Shared Function GetCultureInfo (name As String) As CultureInfo

参数

name
String

区域性的名称。 name 不区分大小写。

返回

CultureInfo

只读 CultureInfo 对象。

例外

name 为 null。

name 指定不支持的区域性。 有关详细信息,请参阅“调用方备注”部分。

注解

有关Windows系统上预定义区域性名称的列表,请参阅 Windows支持的语言/区域名称列表中的语言标记 列。 列名遵循 BCP 47 定义的标准。 此外,从Windows 10开始,name可以是任何有效的 BCP-47 语言标记。

该方法 GetCultureInfo 检索缓存的只读 CultureInfo 对象。 它的性能优于对构造函数的 CultureInfo.CultureInfo(String) 相应调用。

如果 name 当前区域性的名称,则 CultureInfo 返回的对象不会反映任何用户替代。 这使得该方法适用于系统上没有真实用户帐户的服务器应用程序或工具,并且需要高效加载多个区域性。

String.Empty如果是name,该方法将返回固定区域性。 这等效于检索属性的值 InvariantCulture

调用方说明

.NET Framework 3.5 及更低版本引发ArgumentException无效区域性名称( 如果name不是有效区域性名称)。 从 .NET Framework 4 开始,此方法将引发一个 CultureNotFoundException。 从在 Windows 7 或更高版本的 .NET Framework 4 或更高版本下运行的应用开始,该方法将尝试检索CultureInfo标识符name来自操作系统的对象;如果操作系统不支持该区域性,并且name不是补充区域性或替换区域性的名称,该方法将引发一个CultureNotFoundException

在 .NET 6 及更高版本中, CultureNotFoundException 如果应用在启用了全球化固定模式的环境中运行,例如,某些 Docker 容器和指定固定区域性以外的区域性,则会引发一个。

另请参阅

适用于