Проблема: Проверьте, если x ∉ {2, 3, 61, 71}
Я часто задавался вопросом, нет ли лучшего способа, чем:
if (x != 2 && x != 3 && x != 61 && x != 71)
{
// do things
}
и
if (!new List<int>{ 2, 3, 61, 71 }.Contains(x))
{
// do things
}
Последний кажется довольно элегантным, но на самом деле это немного раздражает, если вы читаете его, особенно из-за инверсии.Это некрасиво, потому что в английском мы говорим "x не является элементом ..." , что трудно выразить в C # без раздражающих накладных расходов.Может быть, один из них скажет if (Object(x).IsElementOf(new[] { ... }))
или около того?
Хм .. какие-нибудь предложения?Существуют ли стандартные методы .Net для проверки подобных вещей?