为什么CompareInfo.IndexOf()不会忽略此代码中的符号?

时间:2019-05-07 21:16:20

标签: linux windows .net-core cultureinfo

我正在Windows和Linux(Ubuntu 18.04)上的.NET Core之间进行结果比较。在字符串比较中,我看到了不同的结果。运行以下代码段时,在Windows上获得0,在Linux上获得-1。我对这段代码的理解是,字符应被忽略,其余的“ Mary”应匹配。

我尝试使用CurrentCultureInvariantCulture,多个CompareOptions-在Linux上它们都返回-1。

遍历CompareInfo源代码here时,它指向FindNLSStringEx的使用,据我理解为Q/Invoke to the kernel。如果是这样,Linux如何处理此代码?有什么办法让Linux在这里返回0

System.Globalization.CompareInfo info = System.Globalization.CultureInfo.CurrentCulture.CompareInfo;
int index = info.IndexOf("Mary", "♪Mary", System.Globalization.CompareOptions.IgnoreSymbols);
System.Console.WriteLine(index);

0 个答案:

没有答案