C#, C♯, C#相談室 Part55at TECHC#, C♯, C#相談室 Part55 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト50:デフォルトの名無しさん 09/12/12 01:29:35 ゲータレード 51:デフォルトの名無しさん 09/12/12 18:29:01 AというクラスとBというクラスがあって、それぞれObjectを継承している。 そのとき Object o = true ? new A() : new B(); これがAとBの間に暗黙的な変換がありません とか言うエラーがでるんだけどなんでこれAとBで変換存在しなきゃいかんの? 52:デフォルトの名無しさん 09/12/12 18:38:20 どっちでもいいのでobjectにキャストが必要。 3項式の値が何になるかにoの型は影響しない。 Object o = true ? (object) new A() : new B(); 53:デフォルトの名無しさん 09/12/12 18:40:14 キャストがB側にひとつ足りなくないか? 54:デフォルトの名無しさん 09/12/12 18:52:14 なんとなくわかった。 C#の?はC++の?とは性質が違うみたいだな・・・ C++では51みたいな書き方でもOKなんだが。C#はうるさいやつだなぁ。 55:デフォルトの名無しさん 09/12/12 19:07:34 三項演算子なんて使う必要ないだろ 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch