如何检查StringComparison是否区分大小写

本文关键字:StringComparison 是否区 大小写 检查 何检查 | 更新日期: 2023-09-27 18:16:10

给定StringComparison实例,我该如何检查它是否区分大小写?

我应该将它与枚举中所有当前已知的区分大小写的值进行比较吗?

StringComparison sc = ...;
bool isCaseSensitive = false
    || sc == StringComparison.CurrentCulture
    || sc == StringComparison.InvariantCulture
    || sc == StringComparison.Ordinal;

如何检查StringComparison是否区分大小写

是的,对于枚举形式(StringComparison),这很好。MS现在不太可能添加另一个StringComparison值,因为向enum添加值实际上是一个破坏性的更改。

对于StringComparer,它相当困难:(

)

是的。StringComparison是一个包含6个值的enum,并且没有方法来测试它们的大小写敏感性。

你必须自己做,你的方法似乎是合理的。

如果你想要一个(nice | nasty)一行字:

bool isCaseSensitive = (int)StringComparison.Ordinal % 2 == 1;

如何实际使用提供的enum来比较两个字符串?

bool isCaseSensitive = !("A".Equals("a", sc));