次のコードを実行できないのはなぜですか?
    static int num = 0;
    static void Main(string[] args)
    {
        (num == 0) ? inc() : dec();
    }
    public static void inc()
    {
        num++; 
    }
    public static void dec()
    {
        num--;
    }
C# では、三項演算子 "?:" を使用して条件をチェックし、それに応じて値を返さずにメソッドを実行できないのはなぜですか? これと同等:
            if (num == 0) inc();
            else dec();
Java、C++ などの他の言語で同じルールが適用されるかどうかはわかりません...