编译器如何为实数文字选择隐式运算符重载

给定以下代码-哪个C#规则导致将实数文字转换为int,并且首选第一个隐式运算符重载而不是第二个隐式运算符重载?

class Dong
{
    public static implicit operator Dong(int i) { return null; }

    public static implicit operator Dong(decimal d) { return null; }

    static void Main()
    {
        var d = (Dong)123.1;
    }
}
评论