本文介绍了Array.IndexOf:等于&相比于的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 MSDN文章中,它表示
这到底是什么意思?根据我使用Reflector的了解,Array.IndexOf仍然使用对象的equals方法来确定对象在数组中的索引:
What exactly does this mean? From what I can tell using Reflector, Array.IndexOf still uses the equals method of the object to determine the index of the object in the array:
for (int j = startIndex; j < num3; j++)
{
object obj2 = objArray[j];
if ((obj2 != null) && obj2.Equals(value))
{
return j;
}
}
这是我所期望的 ,但是我对 MSDN备注感到有些困惑.
This is what I expected, but I'm a little confused by the MSDN Remark.
推荐答案
(非常)措辞不佳,但这意味着在1.1中,它使用
搜索了 arrayElement
It's (very) poorly worded, but it means that in 1.1, it searched for an arrayElement
with
value.Equals(arrayElement) == true
在2.0中,它使用来搜索
while in 2.0 it searches for one with
arrayElement.Equals(value) == true
也就是说,从1.1开始,等效的反射代码是
That is, the equivalent piece of reflected code from 1.1 was
for (int j = startIndex; j < num3; j++)
{
object obj2 = objArray[j];
if ((obj2 != null) && value.Equals(obj2))
{
return j;
}
}
这篇关于Array.IndexOf:等于&相比于的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!