Tag: 拼图

SEHException .net难题

任何人都可以解释为什么下面的代码会抛出错误。 可以通过将-1值转换为十进制(-1M),通过更改运算符重载以接受int或不使用可空对象来轻松修复它。 我注意到只有VS208才会在VS2010中抛出错误。 class Program { static void Main(string[] args) { var o1 = new MyObject?(new MyObject(2.34M)); o1 *= -1; } } public struct MyObject { public MyObject(Decimal myValue) { this.myValue = myValue; } private Decimal myValue; public static MyObject operator *(MyObject value1, decimal value2) { value1.myValue *= value2; return value1; } }

C#潜在面试问题……太难了?

如果不运行此代码,请确定将调用哪个Foo方法: class A { public void Foo( int n ) { Console.WriteLine( “A::Foo” ); } } class B : A { /* note that A::Foo and B::Foo are not related at all */ public void Foo( double n ) { Console.WriteLine( “B::Foo” ); } } static void Main( string[] args ) { B b = […]