<CompatSortNLSVersion> 項目
更新:2010 年 5 月
指定執行階段在執行字串比較時,應使用舊版排序次序。
<CompatSortNLSVersion
enabled="4096"/
屬性和項目
下列各節將說明屬性、子項目和父項目。
屬性
屬性 |
描述 |
---|---|
enabled |
必要屬性。 指定要使用其排序次序的地區設定識別碼。 |
啟用屬性
值 |
描述 |
---|---|
4096 |
表示替代排序次序的地區設定識別碼。 在這種情況下,4096 表示 .NET Framework 3.5 和更早版本的排序次序。 |
子項目
無。
父項目
項目 |
描述 |
---|---|
configuration |
Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中的根項目。 |
runtime |
包含與執行階段初始化選項有關的資訊。 |
備註
由於 .NET Framework 4 中的 System.Globalization.CompareInfo 類別所執行的字串比較、排序和大小寫作業符合 Unicode 5.1 標準,因此字串比較方法 (例如 String.Compare(String, String) 和 String.LastIndexOf(String)) 的結果可能與舊版 .NET Framework 不同。 如果您的應用程式依賴舊版的行為,則可將 <CompatSortNLSVersion> 項目包含在您的應用程式組態檔中,以還原 .NET Framework 3.5 (含) 以前版本中使用的字串比較和排序規則。
重要事項 |
---|
還原舊版字串比較和排序規則也需要在本機系統上提供可用的 sort00001000.dll 動態連結程式庫。 |
在建立應用程式定義域時,將字串 "NetFx40_Legacy20SortingBehavior" 傳遞給 SetCompatibilitySwitches 方法,您也可以在特定的應用程式定義域中使用舊版字串排序和比較規則。
範例
下列範例會具現化兩個 String 物件,並呼叫 String.Compare(String, String, StringComparison) 方法,以使用目前文化特性的慣例進行比較。
Enum StringComparisonResult As Integer
precedes = -1
equals = 0
follows = 1
End Enum
Module Example
Public Sub Main()
Dim str1 As String = ChrW(&h219) + ChrW(&h21B) + "a"
Dim str2 As String = "a"
Console.WriteLine("{0} {1} {2} in the sort order.", _
str1, _
CType(String.Compare(str1, str2, StringComparison.CurrentCulture), StringComparisonResult), _
str2)
End Sub
End Module
using System;
enum StringComparisonResult
{
precedes = -1,
equals = 0,
follows = 1,
};
public class Example
{
public static void Main()
{
string str1 = new string( new char[] {'\u0219', '\u021B', 'a' });
string str2 = "a";
Console.WriteLine("{0} {1} {2} in the sort order.",
str1,
(StringComparisonResult) String.Compare(str1, str2, StringComparison.CurrentCulture),
str2);
}
}
當您在 .NET Framework 4 上執行範例時,會顯示下列輸出。
sta follows a in the sort order.
這與您在 .NET Framework 3.5 上執行範例時顯示的輸出完全不同。
sta equals a in the sort order.
不過,如果您將下列組態檔加入到範例的目錄中,然後在 .NET Framework 4 執行該範例,則輸出會與在 .NET Framework 3.5 上執行範例時產生的輸出完全相同。
<?xml version ="1.0"?>
<configuration>
<runtime>
<CompatSortNLSVersion enabled="4096"/>
</runtime>
</configuration>
請參閱
參考
其他資源
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2010 年 5 月 |
請注意,<CompatSortNLSVersion> 參數取決於 sort00001000.dll。 |
內容 Bug 修正。 |