我正在嘗試在小型桌面應用程序中使用System.Gloablization。我對使用String.Compare()
方法及其重載的附加控制CultureInfo.Compare()
必須提供一點困惑。String.Compare和CultureInfo的CompareInfo之間的區別
比方說,我有兩個字符串
String s1 = "\u3057\u3093\u304B\u3093\u305b\u3093"; //some Japanese text in Unicode
String s2 = "\u30b7\u3043\u30ab\u30f3\u30bb\u30f3"; //Some Japanese text in Unicode
CultureInfo ci = new CultureInfo("ja-JP");
String.Compare
有幾個重載,其中有目前,我會用
String.Compare(String strA, String strB, CultureInfo culture, CompareOptions options)
(其中CompareOptions是枚舉類型)
但是,我也可以使用:
CompareInfo compareInfo = CompareInfo.GetCompareInfo("ja-JP");
compareInfo.Compare(String strA, String strB, CompareOptions options);
出於同樣的目的。
CultureInfo的CompareInfo對象在處理全球化問題時如何提供更多控制權限,例如:CompareOptions.IgnoreKanaType(其中Kana是日語的第二種形式,可以使用CompareOptions的enumaerated類型從字符串中忽略) 。