C# 中 var 和 dynamic 的区别

csharpserver side programmingprogramming

众所周知,任何语言的编程都是从声明变量开始的,之后才进行变量的定义和逻辑实现。因此,在开始用任何编程语言编写代码之前,了解如何声明变量是最重要的因素之一。

现在,如果我们以 C# 语言为例,随着语言的发展,变量的声明也发生了变化。与以前版本的 C# 一样,所有编写的代码都在编译时进行验证,这使得它成为静态类型语言,其中变量使用 var 关键字进行声明。在 C#4.0 之后,引入了 dynamic,其中语法验证或错误检查仅在运行时进行,同时还引入了关键字 dynamic 来声明变量。

以下是 var 和 dynamic 之间的重要区别。

Sr.no.vardynamic
1定义var 是一种静态类型变量,这意味着这些变量的数据类型是在编译时推断出来的,这是基于这些变量初始化时的值的类型来完成的。另一方面,dynamic 是动态类型变量,这清楚地表明它们的类型是在运行时推断出来的,而不是编译时。
2版本C#3.0 中引入了 C sharp 语言中的 var另一方面,dynamic 是在 C#4.0 中稍后引入的
3类型对于 var,变量的类型由编译器在编译时识别。另一方面,对于 dynamic,变量的类型由编译器本身在运行时识别。
4声明如果是 var,则变量在声明时初始化,以便编译器根据赋值了解变量的类型。另一方面,如果是 dynamic,则不一定要在声明时初始化。
5异常如果在声明时未初始化,则使用 var 定义的变量会引发异常。而如果在声明时未初始化,则使用 dynamic 定义的变量不会引发任何异常

相关文章