c#动态比较异常
我可以使用dynamic将long与int进行比较。 但是我不能用动态将ulong与int进行比较 动态错误 无例外样品c#动态比较异常,c#,dynamic,C#,Dynamic,我可以使用dynamic将long与int进行比较。 但是我不能用动态将ulong与int进行比较 动态错误 无例外样品 long a = 10000; int b = 10; dynamic c = a; dynamic d = b; if (c <= d) MessageBox.Show("c"); else MessageBox.Show("d"); ulong a = 10000; int b = 10; dynamic c = a; dynamic d =
long a = 10000;
int b = 10;
dynamic c = a;
dynamic d = b;
if (c <= d)
MessageBox.Show("c");
else
MessageBox.Show("d");
ulong a = 10000;
int b = 10;
dynamic c = a;
dynamic d = b;
if (c <= d) <-Exception
MessageBox.Show("c");
else
MessageBox.Show("d");
长a=10000;
int b=10;
动态c=a;
动态d=b;
如果(c您也不能在没有动力学的情况下将ulong
与int
进行比较。这是正确的,因为ulong
没有到其他积分类型的隐式转换
如果您尝试,将出现以下编译时错误:
Operator '<=' cannot be applied to operands of type 'ulong' and 'int'
Operator'这不是C#dynamic中的一个bug。这是语言的设计方式。有关更多信息,请参考如果答案充分解决了您的问题,您可能希望将其作为答案。您可以阅读关于如何做到这一点或