从ID的通用列表中删除对象
|
我有一个像这样的领域类:
public class DomainClass
{
public virtual string name{get;set;}
public virtual IList<Note> Notes{get;set;}
}
我要如何从ѭ1中取出物品?如果它是一个列表,我将能够做到,但是当我在持久层中使用Nhibernate时,它必须是2英镑。
理想情况下,我在域类中需要这样的方法:
public virtual void RemoveNote(int id)
{
//remove the note from the list here
List<Note> notes = (List<Note>)Notes
notes.RemoveAll(delegate (Note note)
{
return (note.Id = id)
});
}
但是我不能把IList
ѭList
。有没有更优雅的方式来解决这个问题?
没有找到相关结果
已邀请:
6 个回复
羔磺
嘘伪
要么...
第一个是最好的。 如果没有音符带有ѭ10,第二个将引发异常。 编辑:感谢马格努斯和rsbarro显示我的错误。
募磷
。比您可以使用的:
} 如果ID不是唯一的,请改用
。
款去芳尾脊
的实现(包括ѭ16idea,则不知道NHibernate列表的行为),本机实现会变成ѭ14need,并且您需要编写更多代码才能获得
的实现。 旧答案的一种可能实现:列出,而不丢失参考 此实现的技巧是将保留的项目移动到O(n)中列表的开头。然后,它会继续删除列表的最后一项(由于不需要移动元素,因此通常为O(1)),因此截断总计为O(n)。这意味着整个算法为O(n)。
驮帽俺篮号
刷骸码