我有一个关于大量文件的详细信息列表。此列表包含文件 ID、上次修改日期和文件路径。问题是旧版本的文件存在重复,有时文件路径不同。无论文件路径如何,我只想存储文件的最新版本。因此,我创建了一个循环遍历有序列表,检查 ID 是否唯一,如果是,则将其存储在新的唯一列表中。
var ordered = list.OrderBy(x => x.ID).ThenByDescending(x => x.LastModifiedDate);
List<Item> unique = new List<Item>();
string curAssetId = null;
foreach (Item result in ordered)
{
if (!result.ID.Equals(curAssetId))
{
unique.Add(result);
curAssetId = result.ID;
}
}
然而,这仍然允许重复进入数据库,我无法弄清楚为什么这段代码没有按预期工作。我的意思是重复文件具有相同的 ID 但文件路径不同,就像我之前所说的那样,这应该不是问题。我只想要最新版本,不管途径。其他人可以看到问题是什么吗?谢谢
var ordered = listOfItems.OrderBy(x => x.AssetID).ThenByDescending(x => x.LastModifiedDate);
List<Item> uniqueItems = new List<Item>();
foreach (Item result in ordered)
{
if (!uniqueItems.Any(x => x.AssetID.Equals(result.AssetID)))
{
uniqueItems.Add(result);
}
}
这就是我现在拥有的,它仍然允许重复