Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么不能添加int类型的对象和数字?_C#_Variable Assignment - Fatal编程技术网

C# 为什么不能添加int类型的对象和数字?

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;

我有一个int型变量,它是从object派生的,当我试图用一个数字求和这个变量时,它不能求和。即使它们都是System.Int32类型,为什么我不能求和。这是什么原因

这是我的密码:

        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
,即明确声明您知道自己在做什么。请注意,
对象
可以保存,但不能保存任何类型!几乎没有理由将任何东西声明为
对象