C#官方驱动程序中BSonitem列表中的内容和删除信息
我对内容感到困惑,并删除列表中的项目。有人能教我一些关于pls的话吗 items.Content(BsonItem)在项目匹配(_id)或项目是BsonItem(相同类型)时返回bool items.Remove(BsonItem)删除已传递并匹配的BsonItem,还是正在删除找到的集合中的第一个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从一个列表传递到另
如果我的收藏中已经有一个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;