You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何判断队列中是否存在含特定属性值的对象

判断Queue中是否存在符合条件的对象

嘿,这个需求其实很好解决!因为Queue<T>实现了IEnumerable<T>接口,咱们直接用LINQ的扩展方法就能快速拿到需要的布尔判断结果。

核心实现方案

首先记得引用System.Linq命名空间(这是LINQ扩展方法的来源),然后用Any()方法就能完成判断:

using System.Linq;

// 直接判断队列中是否存在符合条件的Order对象
bool hasMatchingOrder = queueSendOrder.Any(order => 
    order.sCode == "Code1" && order.iNum == 1
);

简单说明

  • Any()方法会逐个检查队列里的Order对象,一旦找到第一个满足sCode="Code1"且iNum=1的对象,就会立刻停止遍历并返回true,不用遍历整个队列,效率还不错。
  • 如果遍历完整个队列都没找到符合条件的对象,就会返回false。

额外小贴士(避免空引用异常)

如果你的queueSendOrder有可能为null,可以加上空合并运算符来避免报错:

bool hasMatchingOrder = queueSendOrder?.Any(order => 
    order.sCode == "Code1" && order.iNum == 1
) ?? false;

这样当队列是null时,会直接返回false,不会抛出NullReferenceException。

内容的提问来源于stack exchange,提问作者user6508956

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:48:17