C#官方驱动程序中BSonitem列表中的内容和删除信息

C#官方驱动程序中BSonitem列表中的内容和删除信息,c#,mongodb,mongodb-.net-driver,C#,Mongodb,Mongodb .net Driver,我对内容感到困惑,并删除列表中的项目。有人能教我一些关于pls的话吗 items.Content(BsonItem)在项目匹配(_id)或项目是BsonItem(相同类型)时返回bool items.Remove(BsonItem)删除已传递并匹配的BsonItem,还是正在删除找到的集合中的第一个BsonItem 在这些情况下: 如果我的收藏中已经有一个BSONITM,我如何获得它? 如何在不知道位置的情况下删除集合中的BSONITM 我试图根据一些标准将一个BsonItem从一个列表传递到另

我对内容感到困惑,并删除列表中的项目。有人能教我一些关于pls的话吗

items.Content(BsonItem)在项目匹配(_id)或项目是BsonItem(相同类型)时返回bool

items.Remove(BsonItem)删除已传递并匹配的BsonItem,还是正在删除找到的集合中的第一个BsonItem

在这些情况下:
如果我的收藏中已经有一个BSONITM,我如何获得它?
如何在不知道位置的情况下删除集合中的BSONITM

我试图根据一些标准将一个BsonItem从一个列表传递到另一个列表。谢谢

var itemtoReturn = items[RandomItem(items.Count())];
if (!show.Contains(itemtoReturn) && show.Count() < items.Count())
{
    returned.Add(itemtoReturn);
    //removed from the items
    items.Remove(itemtoReturn);
}
var itemtoReturn=items[RandomItem(items.Count())];
如果(!show.Contains(itemtoReturn)&&show.Count()
我猜您是想问Items.Contains(bSonim)是否根据您的代码示例返回bool if Items匹配

.Contains(BsonItem)将根据BsonItem对IEquatable的实现检查是否相等。默认情况下,它将查找相同的bsonim实例,假设bsonim是引用类型

如果要检查bsonim.id==anotherbsonim.id之类的内容,可以使用Where()如下所示:

如果您不想自己实现IEquatable,您也可以使用它来检查是否存在:

items.Count(o => o.id == anotherItem.id) >= 1;
旁注:如果您决定实现IEquatable,那么还必须处理GetHashCode

items.Count(o => o.id == anotherItem.id) >= 1;