如果队列包含属性中具有特定值的对象,我想获取布尔值。

例如)

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的对象?

谢谢。

最佳答案

使用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(尽管我会选择一个更好的名称)

关于c# - C#如何检查队列是否包含具有特定值的对象属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50047824/

10-09 21:24