繁体   English   中英

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

[英]How to check if a StringComparison is case sensitive?

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

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

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

是的,对于枚举形式( StringComparison )很好。 考虑到向枚举添加值实际上是一项重大更改,因此MS现在不太可能添加另一个StringComparison值。

对于StringComparer ,要困难得多:(

嗯,是。 StringComparison是一个具有6个值的枚举,并且没有方法可以测试它们是否区分大小写。

您必须自己做,并且您的方法似乎合理。

如果您想要(漂亮|讨厌)的单线:

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

您实际上如何使用提供的枚举来比较两个字符串?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM