C# 阻止集合-删除特定元素
我正在使用阻止集合,因为我需要此列表是线程安全的:C# 阻止集合-删除特定元素,c#,blockingcollection,C#,Blockingcollection,我正在使用阻止集合,因为我需要此列表是线程安全的: Orders = new BlockingCollection<Order>(); 我读过关于这些集合的内容,有Take()和TryTake(),但它们都不允许我指定要删除哪一个。您可以使用ConcurrentDictionary。特别是它的TryRemove方法获取ID,删除条目,并返回顺序 此集合是线程安全的,但不是阻塞的。与字典一样,键必须是唯一的(您使用第一个而不是单个表明在您的情况下可能会违反约束)。您可以使用Concu
Orders = new BlockingCollection<Order>();
我读过关于这些集合的内容,有
Take()
和TryTake()
,但它们都不允许我指定要删除哪一个。您可以使用ConcurrentDictionary
。特别是它的TryRemove
方法获取ID,删除条目,并返回顺序
此集合是线程安全的,但不是阻塞的。与字典
一样,键必须是唯一的(您使用第一个
而不是单个
表明在您的情况下可能会违反约束)。您可以使用ConcurrentDictionary
。特别是它的TryRemove
方法获取ID,删除条目,并返回顺序
此集合是线程安全的,但不是阻塞的。与字典一样
键必须是唯一的(您使用First
而不是Single
表明在您的情况下可能会违反约束)。这听起来是一个很好的解决方案。我可能会使用订单id作为密钥。我在id上使用First
表明我应该实际使用Single
。谢谢你的帮助这听起来是一个很好的解决方案。我可能会使用订单id作为密钥。我在id上使用First
表明我应该实际使用Single
。谢谢你的帮助
orders.Remove(orders.Where(o => o.ID == 1).First());