Dot-Net
StringComparison.Ordinal 是否與 InvariantCulture 相同,用於測試相等性?
從他們的簡要描述來看,這聽起來像是字元串比較規則
StringComparison.Ordinal,並且StringComparison.InvariantCulture它們在對字元串進行排序的方式上有所不同。就這些嗎?即,這是否意味著我們可以在進行相等比較時使用任一字元串比較規則?string.Equals(a, b, StringComparison....)還有額外的功勞:如果我們比較
OrdinalIgnoreCase和,答案會有所不同InvariantCultureIgnoreCase嗎?如何?請提供支持論據和/或參考資料。
例如,它確實很重要 - 有一種叫做字元擴展的東西
var s1 = "Strasse"; var s2 = "Straße"; s1.Equals(s2, StringComparison.Ordinal); // false s1.Equals(s2, StringComparison.InvariantCulture); // true隨著字元被擴展
InvariantCulture為.ß``ss