C# 具有不变量区域性返回-1的IndexOf

C# 具有不变量区域性返回-1的IndexOf,c#,asp.net,C#,Asp.net,下面的代码不应该返回4吗?它正在返回-1 string sa = "soy mas grande"; Response.Write("CMP: "+sa.IndexOf("más", StringComparison.InvariantCulture)+"<br>"); string sa=“soy mas grande”; 回答。写(“CMP:+sa.IndexOf(“más”,StringComparison.InvariantCulture)+“”; 否;“más”不是“ma

下面的代码不应该返回4吗?它正在返回-1

string sa = "soy mas grande";
Response.Write("CMP: "+sa.IndexOf("más", StringComparison.InvariantCulture)+"<br>");
string sa=“soy mas grande”;
回答。写(“CMP:+sa.IndexOf(“más”,StringComparison.InvariantCulture)+“
”;
否;“más”不是“mas”,所以它不会匹配;“más”不是“mas”,因此它不会匹配。

StringComparison.InvariantCulture
不会去除重音,您可能正在查找以下内容:

System.Globalization.CultureInfo.InvariantCulture
      .CompareInfo.IndexOf(sa,
                           "más",
                           System.Globalization.CompareOptions.IgnoreNonSpace)

StringComparison.InvariantCulture
不会去除重音符号,您可能正在寻找:

System.Globalization.CultureInfo.InvariantCulture
      .CompareInfo.IndexOf(sa,
                           "más",
                           System.Globalization.CompareOptions.IgnoreNonSpace)

我原以为不变量文化会剥夺埃森诺;在进行比较之前,您需要考虑删除字符串中的重音符号;看这里,我以为不变量文化会剥夺埃森诺;在进行比较之前,您需要考虑删除字符串中的重音符号;请参见以下内容:“在大多数情况下,不要使用基于
StringComparison.InvariantCulture
的字符串操作;少数例外情况之一是持久化有语言意义但文化不可知的数据。”看起来这不是例外情况之一。来源:“在大多数情况下,不要使用基于
StringComparison.InvariantCulture
的字符串操作;为数不多的例外之一是保留有语言学意义但文化上不可知的数据。”看起来这不是例外之一。