使用してシステムを。 名前空間ConsoleTest { クラスプログラム { 静的な 無効メイン(文字列[] argsを) { // 暗黙の隐式装换 桁DIG1 = 新しい桁(7.0メートル)。 小数 NUM = DIG1。 桁dig2 = 12.0メートル。 Console.WriteLineを(" NUM = {0} dig2 = {1} " 、NUM、dig2.Val)。 // 明示的な显示转换 AAのA1 = 新しいAA { A = " A " 、 B = 1 、 C = 1.0メートル }。 BB b1は = 新しいBB { A1が = " B " 、 B1 = 2 、 C1 = 2.0メートル }。 AAのA2 = (AA)B1。 BBのB2 = (BB)A1。 Console.WriteLineを($ " {a2.A} | {a2.B} | {} a2.C "); Console.WriteLineを($ " {b2.A1} | {b2.B1} | {b2.C1} " ); Console.ReadLine(); } } クラス桁 { 公共 小数ヴァル。 公共の数字(小数 D){ヴァル= D。} パブリック 静的 暗黙 オペレータ 小数(桁D) { 戻りd.Valと、 } パブリック 静的 暗黙 オペレータ数字(小数 D) { 戻り 新しいです数字(d)を、 } } クラスAA { パブリック 文字列 A { 得ます。セット; } 公共 int型 B { 得ます。セット; } 公共 小数 C { 得ます。セット; } パブリック 静的 明示 オペレータBB(AA c)は { 返す 新しいBB { A1 = CA、 B1を= CB、 C1、c.A1を= CC }。 } } クラスBB { パブリック 文字列 A1 { 得ます。セット; } 公共 int型 B1 { 得ます。セット; } 公共 小数 C1 { 得ます。セット; } パブリック 静的 明示 オペレータAA(BB c)は { 返す 新しいAA { A = B = 、c.B1を C = c.C1 }。 } } }