(私の意見では)もう少し読みやすいです:
if ((y == a) && (y == b) && (y == c) && (y == d) ...)
しかし、私はこれの基本言語には何もないと思います。
提案したもののようなものが本当に必要な場合は、それが関数の目的であり、次のようなものです。
if (isSetToAll (y, a, b, c, d, ...))
ただし、パフォーマンスの面では注意が必要な場合があります。
それが不変である(言い換えれば、変化しているだけである)ループで行われている場合、1つのことが役立つかもしれません。a/b/c/d/...
y
ループ外の不変量が等しいかどうかを確認します。
if ((a == b) && (a == c) && (a == d) ...)
そうでない場合は、y
それらすべてに等しくなることは決してないからです。次に、ループ内で次のようにします。
if (y == a)
y
すべての非変数が互いに等しいことをすでに知っているという事実はy
、それらの1つに対してチェックするだけでよいことを意味します。
しかし、私はあなたの完全なコードを見たことがないので、それがあなたに役立つかどうかはわかりません。
冗長ではありますが、元のコードについて実際に読めないものは何もありません。特に、適切にフォーマットされている場合はそうです。巨大なものでさえ:
if ((y == a) && (y == b) && (y == c) && (y == d) &&
(y == e) && (y == f) && (y == g) && (y == h) &&
(y == i) && (y == j) && (y == k) && (y == l) &&
(y == m) && (y == n) && (y == o) && (y == p) &&
(y == q) && (y == r) && (y == s) && (y == t) &&
(y == u) && (y == v) && (y == w) && (y == x))
{
...
}
読みやすいです(私は簡潔な変数名の大ファンではありませんが)。
もちろん、その時点で、特異変数ではなくループ付きの配列の使用を検討することをお勧めします。