>>429
どこでつまづいてるのか分からん…

> すでに値が設定されているローカル変数にクラスのインスタンスを代入することの意味がわかりません
代入で値が変わりましたよってのを表すためじゃない? まあ別にいらないけど

> Console.WriteLine("i = {0}",i); i++;はどういう経緯でYの値が無視されてXの値が代入されてるんですか?
> 明示的なキャストでreturn h.x;はどこに代入されてるのかもわかりません。
iはint型だからXの値とかYの値とか関係ない
iに入るのはhをHelloからintに変換した結果、つまりop_implicit(h)の返値
h = new Hello(1)だからh.x=1, h.y=10
なのでop_implicit(h)はh.xである1を返す
よってi = (int)hによってiに1が代入される