У меня возникли трудности с несколькими опциями if.if (a или b) и оператор c
Version 1 соответствует всем без рассмотрения & & .Contains ("вверх")
if (
|| drow["ifName"].ToString().ToLower().Contains("vlan")
|| drow["ifName"].ToString().ToLower().Contains("st0")
|| drow["ifName"].ToString().ToLower().Contains("ge-0")
&& drow["ifStatus"].ToString().ToLower().Contains("up")
)
Version 2 ссылок ни.
if ((
|| drow["ifName"].ToString().ToLower().Contains("vlan")
|| drow["ifName"].ToString().ToLower().Contains("st0")
|| drow["ifName"].ToString().ToLower().Contains("ge-0")
)
&& drow["ifStatus"].ToString().ToLower().Contains("up")
Что-то мне не хватает?
Таблица выглядит в основном, как
ifName | ifStatus
vlan.0 | up
st0.1 | up
pp0.0 | up
ge-0/0/0 | down
EDIT:
Итак цель состоит в том, чтобы соответствовать только те строки, которые имеют ifStatus = UP, также изменил таблицу уточнить реальный пример.
Невозможно воспроизвести. Версия 2 выглядит так, как будто это должно быть правильно. –
Я бы начал с введения переменных, чтобы код стал легче читать ... –
Вы должны извлечь локальную переменную или 2, чтобы улучшить читаемость. Обратите внимание на общий текст 'drow [" ifName "]. ToString(). ToLower()'. – ChaosPandion