LINQ, Где с И ИЛИ условие

Никогда не пишите, что Ваши собственные стандарты кодирования используют MS (или Sun или... как подходящие для Вашего языка). Подсказка находится в стандарте слова, мир был бы намного более легким местом для кодирования в том, если каждая организация не решила записать их собственное. Кто действительно думает, изучая новый набор 'стандартов' каждый раз, когда Вы изменяетесь, команды/проекты/роли хорошее использование чьего-либо времени. Большинство, которое необходимо когда-либо делать, суммируют критические точки, но я отговорил бы от выполнения даже что, потому что то, что очень важно, варьируется от человека человеку. Две других точки, которые я хотел бы сделать при кодировании стандартов

  1. Близкий, достаточно хороши - Изменяющий код для следования, стандарты кодирования к букве пустая трата времени, пока код достаточно близок.
  2. при изменении кода Вы не записали, следуют 'локальным стандартам кодирования', т.е. заставляют Ваш новый код быть похожим на окружающий код.

Эти две точки являются действительностью к моему желанию, что все записали бы код, который выглядел одинаково.

25
задан Zeus 12 November 2009 в 02:19
поделиться

2 ответа

from item in db.vw_Dropship_OrderItems
    where (listStatus != null ? listStatus.Contains(item.StatusCode) : true) &&
    (listMerchants != null ? listMerchants.Contains(item.MerchantId) : true)
    select item;

Может вести себя странно, если оба listMerchants и listStatus имеют значение null.

34
ответ дан 28 November 2019 в 21:08
поделиться

Что ж, вам нужно где-то проверить наличие null. Вы можете сделать что-то вроде этого:

from item in db.vw_Dropship_OrderItems
         where (listStatus == null || listStatus.Contains(item.StatusCode)) 
            && (listMerchants == null || listMerchants.Contains(item.MerchantId))
         select item;
7
ответ дан 28 November 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: