更新:2007 年 11 月
与 CultureInfo 对象和属于相关类的对象(如 CompareInfo)关联的名称中,有几个需要特别注意。例如,CultureInfo 对象可以具有 Name 属性,该属性具有与其 Name 属性不同的值。
从区域性名称构造的 CultureInfo
首先介绍以下三个使用 CultureInfo.CultureInfo 构造 CultureInfo 对象的示例。其中传递的 name 值分别为:
“EN-US”代表“美国英语”
“de-DE_phoneb”代表使用电话簿排序方式(一种替换排序方式)的德语(德国)
“fj-FJ”代表自定义区域性,该区域性使用“en-US”排序顺序进行字符串比较。
下表列出了所有这些对象的返回值。
元素 |
en-US |
de-DE_phoneb |
自定义区域性 |
---|---|---|---|
(传递给构造函数) |
en-US |
de-DE_phoneb |
fj-FJ |
en-US |
de-DE_phoneb |
fj-FJ |
|
en-US |
de-DE |
fj-FJ |
|
en-US |
de-DE |
fj-FJ |
|
en-US |
de-DE_phoneb |
en-US |
ToString 始终返回传递给构造函数的值,只是对大小写进行了“正常化”。例如,如果应用程序将“En-Us”传递给构造函数,ToString 将返回“en-US”。Name 始终给出名称的“缩写”形式,其中排除了任何替换排序的指示。例如,如果应用程序将“de-DE_phoneb”传递给构造函数,Name 将返回“de-DE”。
CultureName 始终与 Name 相同。最后,CompareInfo 和 Name 将返回排序的名称,即使它与区域性本身的名称完全无关(如自定义区域性示例中所示)。
此外,每个区域性都具有 DisplayName、EnglishName 和 NativeName 指示的名称。还有几个对区域性的关联语言进行标识的名称。
从区域性标识符构造的 CultureInfo
接下来介绍三个类似的例子,不过,它们使用 CultureInfo.CultureInfo 而非 CultureInfo.CultureInfo。这种情况下,传递给构造函数的区域性值为:
0x0409 代表美国英语
0x10407 代表使用电话簿排序方式的德语(德国)
0x0c00 代表自定义区域性“fj-FJ”,仅当“fj-FJ”是当前默认用户区域性时,才能使用此值;假定此自定义区域性使用“en-US”排序顺序进行字符串比较
下表列出了这些对象的返回值。这些值与上例中的值完全相同。
元素 |
en-US |
de-DE_phoneb |
自定义区域性 |
---|---|---|---|
(传递给构造函数) |
0x0409 |
0x0407 |
0x0C00 |
en-US |
de-DE_phoneb |
fj-FJ |
|
en-US |
de-DE |
fj-FJ |
|
en-US |
de-DE |
fj-FJ |
|
en-US |
de-DE_phoneb |
en-US |