数据类型
数据类型是编程语言中用来表示数据的种类或形式的分类。不同的数据类型定义了数据可以存储的值的范围和类型,以及对这些值可以执行的操作
强类型语言和弱类型语言
强类型语言和弱类型语言是描述编程语言在处理数据类型方面的特性的概念。
-
强类型语言(Strongly Typed Language):(c#就是强类型语言)
- 强类型语言要求在编程过程中严格定义和遵守数据类型,不允许隐式类型转换。
- 在强类型语言中,每个变量都必须明确定义其数据类型,而且对于不同数据类型之间的操作需要进行显式的类型转换。
- 强类型语言可以更早地发现代码中的错误,并在编译时或运行时提供更多的类型安全性。
-
弱类型语言(Weakly Typed Language):(典型的代表有c语言)
- 弱类型语言相对灵活,允许在不同数据类型之间进行隐式的类型转换。
- 在弱类型语言中,变量的数据类型可以随时改变,不需要明确声明,有时候会由编程语言自动推断。
- 弱类型语言可能在某些情况下会导致难以捕捉的错误,因为类型转换是隐式的,需要程序员更加小心地处理数据类型的转换。
C#是一种强类型语言,要求在编写代码时明确定义数据类型,不允许隐式类型转换,可以提高代码的可靠性和安全性。
C#中的dynamic就是对弱类型语言的模仿,虽然c#中也有var类型但是和Javascript还是有点区别的
一个C#类型所包含的信息有
1.内存的空间大小
2.此类型可以表示的范围
3.此类型所包含的成员(属性,方法,事件)
4.此类由何种基类派生而来
5.自己在内存中所处的位置
栈(Stack):是给方法调用来使用的,比如说方法调用(比较小只有几M,所以可能爆战)
堆(Heap):存储对象的,存储类的实例(内存大但是会内存泄漏,内存泄漏就是有些没有用的内存没有用,就烂在堆里面了)