Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 阻止集合-删除特定元素_C#_Blockingcollection - Fatal编程技术网

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());