C#: 条件演算子の型
C# で、例えば Class1
と Class2
が Class
の子クラスであるとき、以下のようなコードがコンパイルエラーになるのはやっぱりどうかと思う。
Class c = (x == y) ? new Class1() : new Class2();
なお、これをコンパイルできるようにするためには一方のオブジェクトを親クラスにキャストすればよい。
Class c = (x == y) ? (Class) new Class1() : new Class2();
| 固定リンク
コメント