C#中var是强类型还是弱类型?

发布时间 2023-11-18 17:08:22作者: LiXiang98

一、什么是弱类型?

变量可以被赋予(被重新赋予)任何类型的值。

如JavaScript中

let foo = 42; // foo 现在是一个数值
foo = "bar"; // foo 现在是一个字符串
foo = true; // foo 现在是一个布尔值

二、C#中的var可以被重新赋予任何类型的值吗?

 如上图,很明显不能被重新赋予其他类型的值。

同时,也可以编译之后通过反编译工具查看源码,temp的类型是Point类。

所以,C#中var是强类型。

三、C#中的弱类型

如上图,dynamic刚开始是int类型,后面也可以赋值为string类型。

所以,dynamic是C#中的弱类型。