C# 为什么不能添加int类型的对象和数字?
我有一个int型变量,它是从object派生的,当我试图用一个数字求和这个变量时,它不能求和。即使它们都是System.Int32类型,为什么我不能求和。这是什么原因 这是我的密码:C# 为什么不能添加int类型的对象和数字?,c#,variable-assignment,C#,Variable Assignment,我有一个int型变量,它是从object派生的,当我试图用一个数字求和这个变量时,它不能求和。即使它们都是System.Int32类型,为什么我不能求和。这是什么原因 这是我的密码: object number_1 = 34; number_1 = number_1 + 10; Console.WriteLine(number_1); 不能将数字与对象相加 最好是: object number_1 = 34;
object number_1 = 34;
number_1 = number_1 + 10;
Console.WriteLine(number_1);
不能将数字与对象相加 最好是:
object number_1 = 34;
int numb1 = (int)number_1 + 10;
Console.WriteLine(numb1);
操作的类型不兼容是原因。仅允许类型之间的有效操作。作为静态类型语言,C#在编译时需要类型信息。若您将对象更改为动态,这将起作用,这是运行时验证。像Python这样的语言是动态类型的,这是不允许的,因为它(显然)是无意义的。要做到这一点,您需要转换为
int
,即明确声明您知道自己在做什么。请注意,对象
可以保存,但不能保存任何类型!几乎没有理由将任何东西声明为对象
。