如何使字符串比较在进程/线程级别上不区分大小写?

Kas*_*oma 1 .net c# string globalization cultureinfo

我正在阅读C#中的字符串比较,我想知道:

我可以预定义进程/线程级别的比较信息不区分大小写,所以我可以==在比较两个字符串时直接使用吗?

Pat*_*man 8

不,你不能.

该==话务员通话string.Equals,这在它自己的,调用string.EqualsHelper.

如您所见,它不使用任何文化或比较设置(如Equals(String value, StringComparison comparisonType)重载一样).它只是按字符比较字符串.

您必须调用重载Equals来获取所需的结果,这不是默认行为,并且无法更改,除非您有办法使用自己的实现或操作符覆盖每个 .stringstring.Equals==