如何在 C# 中比较字符串,例如在 SQL 服务器中不区分大小写和不区分重音

How to compare strings at C# like in SQL server case insensitive and accent insensitive

好的,这 4 个词在 SQL 服务器 Latin1_General_100_CI_AI 排序规则中是相等的,不区分大小写和重音

taraflı
TaraFLI
TARaFLİ
Tarafli

但是我找不到一种方法来比较它们在 C# .net 4.5.1 中的相等性

有没有办法像在 SQL 服务器中那样进行比较?

我也检查了这个线程:Ignoring accented letters in string comparison

该线程的事件 RemoveDiacritics 方法失败

这会将所有这些字符串比较为相等:

string.Compare(s1,s2,
               CultureInfo.InvariantCulture,
               CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase)