C# の変換演算子、キャスト
C# でクラスに独自の変換を実装する場合、変換が成功することが保証されていて、何の情報も失われないならば、キーワード implicit を使いましょう。そうでなければ、explicit を使いましょう。
public class Fraction //!<分数クラス { private int numerator, denominator; public Fraction(int n, int d) //!<分数で初期化 { numerator = n; denominator = d; } public Fraction(int n) //!<整数で初期化 { numerator = n; denominator = 1; } public static implicit operator Fraction(int i) //!<暗黙的な変換 { return new Fraction(i); } public static explicit operator int(Fraction f) //!<明示的な変換、これによってユーザに情報が欠落することを意識させる { return f.numerator / f.denominator; } }