如果队列包含属性中具有特定值的对象,我想得到布尔值。
e.g)
public class Order
{
public string orderType { get; set; }
public string sCode { get; set; }
public int iNum { get; set; }
...omit...
}
Queue<Order> queueSendOrder = new Queue<Order>();
然后,如何检查Queue是否包含,如果包含任何具有sCode =“Code1”的对象,iNum = 1?
谢谢。
答案 0 :(得分:3)
使用Linq Any()
扩展方法,这非常简单:
var containsCode1 = queueSendOrder.Any(o => o.sCode == "Code1");
var containsNum1 = queueSendOrder.Any(o => o.iNum == 1);
或两者:
var containsCode1AndNum1 = queueSendOrder.Any(o =>
o.sCode == "Code1"
&& o.iNum == 1);
旁注:这些天使用匈牙利表示法来表示类型被认为是不好的做法。所以sCode
应该只是Code
而iNum
应该是Num
(虽然我会选择一个比这更好的名字)