C# 数据类型(var)

前两天自己写了一下dynamic这个函数的作用,而那次通过了解dynamic这个函数还知道了var这个函数,所以今天就特地看了一下var这个函数的一些作用以及要注意的事项

首先是这个函数是它的作用,它可以代替任何类型的数据定义,而且还会显示你所以定义的数据是什么类型的,通俗的说就是在自己不知道要定义的数据是什么类型的时候可以使用var这个函数,

但是这里有一个问题(我上一篇说的dynamic这个函数也可代替任何类型,它们的准确的界定在哪里?),留待自己更加精通时在解答,或者有高人在这里给指点一下更好

回归正题,var的使用要注意一些特点:

首先是定义var变量时要先给一个初始化的值。

然后是定义定义完初始变量后就不能再给变量赋值不同与于初始变量的类型,

这个var的使用就和之前dynamic函数的使用有一些不一样了,之前有写就不再赘述了

https://blog.csdn.net/pengjun_ge/article/details/114788524?spm=1001.2014.3001.5501

然后是var定义的数据类型都是局部变量

但是这个dynamic的变量类型也是局部的,所以这里也有一个疑问,希望有高人指点一下

最后就是使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

这里的理解就是,使用object函数的话,它是把数据直接定义成object类型的,而其余所以的数据类型都是基于object的,

在 C# 的统一类型系统中,所有类型(预定义类型、用户定义类型、引用类型和值类型)都是直接或间接从 Object 继承的。 可以将任何类型的值赋给 object 类型的变量。 将值类型的变量转换为对象的过程称为“装箱”。 将对象类型的变量转换为值类型的过程称为“拆箱”。

但是var就不一样了,它是在你初始赋值的时候就自动匹配了你说赋值的数据类型了

所以说var在效率上比object要快一点。

猜你喜欢

转载自blog.csdn.net/pengjun_ge/article/details/114979209
今日推荐