Как проверить, содержит ли очередь свойство объекта с определенным значением? - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу получить логическое значение, если очередь содержит объект, имеющий конкретное значение в свойствах.

например)

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

Тогда, как проверить, содержит ли очередь какие-либо объекты, если sCode = "Code1", iNum = 1?

Спасибо.

1 Ответ

0 голосов
/ 26 апреля 2018

Используя метод расширения 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 (хотя я бы выбрал более подходящее имя, чем это)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...