В принципе у меня есть объект, который для этого вопроса я называю «a», , Если свойство «b» объекта «a» является любым из 1
, 4
, 6
(например, но может быть больше значений, которые являются подходящими) Я хочу установить его на 8
(опять-таки, например). Сейчас, как правило, я бы в конечном итоге делает что-то вроде -C# - Есть ли способ сократить «if (ab == 1 || ab == 4 || ab == 6)«
if(a.b == 1 || a.b == 4 || a.b == 6)
a.b = 8;
Но я не могу не думать о том, что должно быть что-то проще/короче. Я действительно искал что-то вроде MSSQL in
синтаксиса (если она существует) -
SELECT
*
FROM table
WHERE
table.field IN (1, 4, 6)
Я полагаю, я мог бы создать массив, заполнить его, а затем проверить, если он содержит мои ценности в if
заявлении, но это просто будет приводить к значительной степени такое же количество кода, чем оригинальный if
заявление и создать переменную массива только для if
чувствует себя немного излишним -
int[] values = { 1, 4, 6 };
if(values.Contains(a.b))
a.b = 8;
В этих случаях я использую подход массива - это делает код намного понятнее. – SWeko
Трудно выполнить три логических операции для удобочитаемости или скорости. –
Любая альтернатива была бы менее читаемой. Я оставил бы его как есть. – Konamiman