这学期数据库课程设计老师要求用C#写,而C#以前完全没有学过,所以自己只好找视频,找教程自己慢慢琢磨了,然而碰到最基本的一个知识就是变量类型问题。这自然是很基础的问题,而基础的问题往往是最容易迷糊的,自行补充一下。
这是变量间一张非常好的区分图,在数据类型方面,C#可谓基本继承了Java的方法,难怪第一眼看上去和Java那么相像。
很多人都直接将成员变量理解为全局变量,而且“全部”相较“局部”,对比度一下就出来了,也更好理解。所谓全局,它就是如上图所说,在类体中都可以使用的变量。以是否添加"static"关键字为分界,又分为静态变量(加"static")和实例变量(不加"static")两种,下面讲讲这个加不加static的区别。
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
上面这段话是引用过来的,我们其实可以通过下面这个小例子来对比一下:
估计大家已经看出来了,实例变量中我们必须创立一个Program对象,然后再从改对象中调用变量a,而在静态变量中,我们则可以直接调用。
而局部变量的话,理解起来非常简单,其作用域就是在作者自行定义的区域,一般即用即写即可。
题外话:这两天去了一趟合肥见同学,大家到一起都是很快乐的,但谈话间已经更多流露出对于未来的种种 不确定和些许的惶恐,我想对于我们20岁的人来说,一无所有又无法很快改善的日子会持续相当长一段时间。这会让我们心情常常不好,但不管如何,日子总是要继续的,生活中的大多数问题无非都是选择,选择过怎样的生活就意味着要有多大的付出,自己大学两年虽不颓废,但感觉成果甚微,还是不够投入所致,伟大实在是熬出来的。以码农之精神,铸我人生之道义!