我对列表中的内容和删除项目感到困惑。有人可以教一些关于pls的话吗?
如果项目匹配(_id)或项目是BsonItem(相同类型),items.Content(BsonItem)返回bool?
items.Remove(BsonItem)删除传递和匹配的BsonItem还是删除找到的集合中的第一个BsonItem?
在这些情况下:
如果BsonItem已经存在于我的收藏中,我怎么能得到?
如何在不知道位置的情况下删除集合中的BsonItem。?
我在一些标准中搜索将BsonItem从一个List传递给另一个List。感谢
var itemtoReturn = items[RandomItem(items.Count())];
if (!show.Contains(itemtoReturn) && show.Count() < items.Count())
{
returned.Add(itemtoReturn);
//removed from the items
items.Remove(itemtoReturn);
}
答案 0 :(得分:0)
我猜你是想问一下,如果项目根据你的代码样本匹配,Items.Contains(BsonItem)是否会返回一个bool?
.Contains(BsonItem)将根据BsonItem的IEquatable实现检查是否相等。默认情况下,它将查找BsonItem的相同实例,假设BsonItem是引用类型。
如果要检查BsonItem.id == anotherBsonItem.id之类的内容,可以使用Where(),如下所示:
items.Where(o => o.id == anotherItem.id);
如果您不想自己实现IEquatable,您也可以使用它来检查是否存在:
items.Count(o => o.id == anotherItem.id) >= 1;
旁注:如果您决定实施IEquatable,您还必须处理GetHashCode