【发布时间】:2014-01-08 18:02:44
【问题描述】:
我有一个用 C# 编写的 ASP.Net Web 应用程序,它有一个名为 AffectedEmployees 的 List<Employee> 对象,其中 Employee 是我编写的一个类。 AffectedEmployees 也是我编写的另一个名为 LitHoldDetails 的类的属性,但我认为这无关紧要。我只是将信息包括在内,以防我错了,当然,这从未发生过。 ;) 无论如何,我需要从 AffectedEmployees 中删除一个特定的 Employee 对象。我首先只是做了一个Remove()(Add() 工作,顺便说一句),但有问题的员工没有从 AffectedEmployees 中删除。所以我打电话给Contains(),确认它确实在那里。 Contains() 没有在 AffectedEmployees 中找到 Employee,但是如果我检查该列表并将其与调试器中的 Employee 进行比较,则该 Employee 确实在 AffectedEmployees 中。我用细齿梳将两者进行了比较,我发现数据没有差异。我究竟做错了什么?这是我的代码:
Employee emp = new Employee().FindByLogin(item.Key.ToString());
if (CurrentLitHoldDetails.AffectedEmployees.Contains(emp))
CurrentLitHoldDetails.AffectedEmployees.Remove(emp);
注意:FindByLogin() 启动 emp 并用数据填充它。 item.Key.ToString() 来自一个包含我需要删除的所有员工的哈希表
【问题讨论】: