1. ホーム
  2. c#

条件文の中で||演算子を組み合わせる方法【重複

2023-08-03 20:10:03

質問

の代わりに

if (foo == "1" || foo == "5" || foo == "9" ... ) 

のような組み合わせが好きです(これはうまくいきません)。

if (foo == ("1" || "5" || "9" ... ))

それは可能か?

どのように解決するのですか?

残念ながら、拡張メソッドを作成するのが最善策です。

public static bool IsOneOf<T>(this T value, params T[] options)
{
    return options.Contains(value);
}

で、こんな風に使うことができます。

if (foo.IsOneOf("1", "5", "9"))
{
    ...
}

汎用的であるため、あらゆる型(int、stringなど)に使用できます。