【发布时间】:2019-12-10 14:07:47
【问题描述】:
我有LinkedList 有Remove(item) 方法作为参数item。
我想知道我必须覆盖什么才能通过特定参数删除项目?
例如我有LinkedList<MyClass>,在MyClass 我有变量 int 索引,我想通过这个值进行比较...
就像,我正在寻找一些 override compare(Obj) 方法,当我从 LinkedList 中删除项目时,我可以覆盖和比较对象我需要的值...
编辑
方法Where 不适合,因为实际上我有一个通用的LinkedList 实现,实际上我的LinkedList 看起来像LinkedList<TYPE>,它可以是任何类型。因此我不能使用where,因为实际上我不知道确切的类型
【问题讨论】:
-
寻找不相等而不是相等的项目: LinkedList
myClass = new LinkedList (); LinkedList 结果 = (LinkedList ) myClass.Where(x => x.item != 5); -
我不确定,但还不够 var new list = LinkedList.Where(x=>x.index ==1).ToList(); foreach (var item in list) {LinkedList.Remove(item)}
-
我会创建自己的对象并覆盖删除方法,或者我想您可以尝试扩展方法并使用自己的方法扩展 LinkedList
-
你可以寻找这个:stackoverflow.com/questions/10454519/…,在你的
MyClass上实现IEquatable<MyClass>
标签: c#