List <string>对象IndexOf返回-1.怎么样?

Jar*_*ice 5 c# list indexof

这对我来说非常困惑.不知何故IndexOf(string),我的List<string>对象的方法返回-1,即使List中的值是CLEARLY.

protected readonly List<string> validPrefixes = new List<string>() { "01", "02", "03", "FE", "E1", "E2", "E3" };
Run Code Online (Sandbox Code Playgroud)

string prefix 是"01"

在此输入图像描述

validPrefixes 索引0是"01".

在此输入图像描述

indexOf是-1.嗯......怎么样?

在此输入图像描述

Jar*_*ice 1

好吧,我不知道为什么,但看起来我的调试器在骗我。validPrefixes我相信发生的事情是需要全部小写的值,因为我ToLower()之前在代码中使用了影响string addr变量的方法。

由于某种原因,我的调试器似乎以某种方式混合了循环的迭代。我只能通过char[]使用该string.ToCharArray()方法将变量分配给 a 来判断发生了这种情况。

("01").ToCharArray()正在返回['0','1']prefix.ToCharArra()正在返回['f','e']

不知何故,调试器告诉我 is 的值prefix,而is"01"的值。后者是来自不同循环迭代的值。prefix.ToCharArray()['f','e']

由于我正在检查"FE"而不是"fe",所以我的代码无法正常工作,但我的调试器并没有准确地告诉我这一点。

我正在使用 Xamarin iOS Build Host 在我的 Windows PC 上使用 Xamarin 进行 iOS 开发。过去,通过这样的开发,我遇到过一些奇怪的事情,尤其是在调试和断点方面。所以我要责怪 Xamarin Build Host。

感谢@Amit 和@DavidW 帮助我得出这个结论。