是StringComparison.Ordinal相同InvariantCulture的用于测试平等? [英] is StringComparison.Ordinal the same as InvariantCulture for testing equality?

查看:130
本文介绍了是StringComparison.Ordinal相同InvariantCulture的用于测试平等?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从他们的简要描述,这听起来像字符串比较规则 StringComparison.Ordinal StringComparison.InvariantCulture 是意味着在他们做的是如何串的排序的不同。是的所有的?也就是说,这是否意味着做一个相等比较时,我们可以使用字符串比较规则?

From their brief summary descriptions, it sounds like the string comparison rules StringComparison.Ordinal and StringComparison.InvariantCulture are meant to differ in how they do sorting of strings. Is that all? i.e., does that mean we can use either string comparison rule when doing an equality comparison?

string.Equals(a, b, StringComparison....)

和额外信贷:它有所作为的答案,如果我们比较 OrdinalIgnoreCase InvariantCultureIgnoreCase ?怎么样?

And for extra credit: does it make a difference to the answer if we compare OrdinalIgnoreCase and InvariantCultureIgnoreCase? How?

请提供配套参数和/或引用。

Please provide supporting argument and/or references.

推荐答案

这非常重要,例如 - 有一种东西叫做角色扩展

It does matter, for example - there is a thing called character expansion

    var s1 = "Strasse";
    var s2 = "Straße";

    s1.Equals(s2, StringComparison.Ordinal);          // false
    s1.Equals(s2, StringComparison.InvariantCulture); // true

使用 InvariantCulture的 SS 字符被扩大到 SS

这篇关于是StringComparison.Ordinal相同InvariantCulture的用于测试平等?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆