私は言いたくない:
(trsaz != v1) && (trsaz != v2) && ...
私は次のようなものが欲しい:
trsaz != (v1, v4, v7, v11)
これは可能ですか、それとも他にも何かありますか!=
。
私は言いたくない:
(trsaz != v1) && (trsaz != v2) && ...
私は次のようなものが欲しい:
trsaz != (v1, v4, v7, v11)
これは可能ですか、それとも他にも何かありますか!=
。
var badList = new[] { v1, v4, v7, v11 };
var result = !badList.Contains(trsaz);
var excludeList = new[] { "v1", "v4", "v7", "v11" };
if(!excludeList.Contains(trsaz))
{
...
}
var result = (new[] {v1, v4, v7}).Every(o => o != trsaz);
実際、私はそのための小さな拡張メソッドを作成することを好みます:
public static bool IsIn<T>(this T obj, params T[] set) {
return set.Any(el => element.Equals(obj));
}
それはすべての黒魔術をカプセル化し、あなたの目標であるコードを非常に簡潔にします。
if (!trsaz.IsIn(v1, v4, v7, v11)) {
// ...
}
特にメカニズムを使用する必要がまったくなく、コードを保守する一部の人々を混乱させる場合は特に、重要でない場合はメカニズムを非表示にすることをお勧めします。