IndexOf
对列表的最后一个元素返回1。为什么?
此代码不被我使用。我只是通过下面提到的代码给你们一个关于我的问题背景的想法 E.g.清单:List.IndexOf返回1 c#
List<int> abc = new List<int>();
abc.Add(1);
abc.Add(2);
abc.Add(41);
// i.e index 0 hold 1 index 1 hold 2 and index 3 hold 41
//abc[0] = 1;
//abc[1] = 2;
//abc[3] = 41;
然后检查指标,如:
foreach (int i in abc)
{
//for first two index[0,1] IndexOf() works fine but when foreach loop hole i=41 then IndexOf() returns 1 i.e is index=1 why??
int index = abc.IndexOf(i);
}
您的示例代码将导致编译时错误。 'abc'列表中没有项目,因此按索引访问会导致异常。 – Oded 2011-12-30 09:07:31
你在abc [0] = 1上得到一个argumentsoutofrangeexception;正如Oded所说的那样, – Peter 2011-12-30 09:11:07
。如果你打算包含代码,工作代码总是很好。或者至少有一些伪代码来表明发生了什么(例如,一行说“从数据库中添加100个值列表”或其他东西。如果你的代码无效并且不包含你的错误,那么它很难找到问题... – Chris 2011-12-30 09:13:10