與 CultureInfo 物件相關的名稱
更新: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 |