我有一个来自客户类的列表,如下所示
internal class RMDocument
{
public string FolderProfileNumber { get; set; }
public string FolderName { get; set; }
public List<FolderItem> Documents { get; set; }
}
如您所见,FolderItem中有一个列表。和FolderItem有DocNumber属性。
所以我想删除与Documents items具有相同文档编号的项目。
foreach (var dup in DocumentsAndParents.Where(d => !(d.Value.Count == 1 && d.Value[0].ReferenceCount == 1)))
{
var duplicated = ExportDocumentsToRm.SelectMany(s =>
s.Documents).FirstOrDefault(f => f.DocNumber.Equals(dup.Key));
if (duplicated != null)
{
ExportDocumentsToRm.SelectMany(s => s.Documents).ToList()
.RemoveAll(r => r.DocNumber.Equals(duplicated.DocNumber));
}
}
代码我觉得我的问题很明确。我知道问题,我使用ToList()这就是为什么它不会删除,但否则我无法访问RemoveAll或其他删除方法。
如果docnumber与来自Documents的anitem相同,我如何删除项目。我只想删除&#34; Documents&#34;中的项目。不是来自ExportDocumentsToRm,它有Documents属性作为列表