if
C# では、1 つのステートメントを使用して変数をチェックするために複数の値を指定することはできません。このようにしたい場合は、各値 (1、3、5 など) を個別にチェックする必要があり、それは多くの冗長な入力になります。
この特定の例では、何かが奇数か偶数かを確認する簡単な方法は、モジュラス演算子を使用して 2 で割った後の剰余を確認することです%
。
if (x % 2 == 1)
{
Console.WriteLine("The number is odd");
}
else
{
Console.WriteLine("The number is even");
}
ただし、本当にリストに対してチェックする必要がある場合はContains
、配列に対してメソッドを使用するのが簡単な方法です (ICollection<T>
本当に)。うまく簡単にするために、構文的にきれいな方法でリストをチェックできる拡張関数を書くこともできます。
public static class ExtensionFunctions
{
public static bool In<T>(this T v, params T[] vals)
{
return vals.Contains(v);
}
}
次に、次のように言うことができます。
if (x.In(1,3,5,7,9,11,13,15,17,19))
{
Console.WriteLine("The number is definitely odd and in range 1..19");
}
else
{
Console.WriteLine("The number is even, or is not in the range 1..19");
}
出来上がり!:)