为什么IndexOf
无法找到List
中的最后一个元素?IndexOf找不到列表中的最后一个元素
public List<Rule> rules = new List<Rule>();
Rule n = new Rule();
rules.Add(n);
Console.WriteLine(n == rules.Last<Rule>()); //True
dg_main.SelectedIndex = rules.IndexOf(n); //-1
答: 谢谢大家的时间。 我对这种情况感到困惑,甚至没有看到它不是IndexOf的错。 这是更改索引的dg_main.SelectedIndex。 DataGrid已排序。
的IndexOf使用EqualityComparer(然后最后的Object.Equals()或重写默认实现)。 ==运算符可能会有所不同。 Rule类的代码是什么? –
你能突出显示哪些代码可以一起运行吗?我知道你最初发布的第一行和其他行之间有一个空格,既然你不能有一个公共的局部变量,那你可能试图指出第1行在一个地方,其余行在其他地方?一个简短但完整的例子,我们可以复制并粘贴到(比如说)控制台项目中会很有帮助。 –