前面我们知道C#是一种完全面向对象的设计语言,因此C#语言是利用类来作为程序设计的基本单位的一种语言,这样可以更好的反应客观世界中的实体模型,这种方法在计算机编程中被称为面向对象的程序设计方法。这种方法的步骤是,利用抽象思想设计出相应的类,然后在类中设计相应的数据结构和算法。在设计数据结构和算法时,主要确定的内容有两个,一是数据用什么方式来表示,二是如何处理这些数据。
那大家可能要问:为什么要确定的是这两项呢?很简单,因为C#在处理数据时,必须要对数据进行类别的指定,这些类别主要用来指示计算机如何存储和处理这些数据,然后计算机才能进行后续的操作,我们在计算机术语中称之为数据类型。要掌握C#程序设计,首先必须要掌握C#中的数据类型。
数据类型是计算机高级语言中具有相同特征数据的抽象表示。
结构相同或同一集合元素;内存表示方式相同;有共同的操作(运算)。例如下图:
数据类型的分类:整型、浮点型、布尔型、货币型、枚举型、结构、指针类型、引用类型。
其中整型、浮点型、布尔型、货币型、枚举、结构都属于值类型。
在C#中用于表示数值或自定义类型的数据,总的来说都跟数字有关。主要分以下几类:
数值型:整型、浮点型和货币型。
结构:用于表示一组相关的数据。
枚举:用于定义一组连续的量,可以增加程序的易读性。
字节型:有符号字节型(sbyte):8位有符号整数。
无符号字节型(byte):8位无符号整数。
短整型:有符号短整型(short):16位有符号整数。
无符号短整型(ushort):16位无符号整数。
长整型:有符号长整型(long):64位有符号整数。
无符号长整型(ulong):64位无符号整数。
整 型:有符号整型(int):32位有符号整数。
无符号整型(uint):32位无符号整数。
字符型(char):无符号16位整数,表示Unicode字符集
单精度浮点型(float):表示精度为7位浮点数
双精度浮点型(double):表示精度为15位或16位浮点数
货币型(decimal):适用于财务和货币计算的128位数据类型,可精确表示十进制的小数。这个数据类型是很精确的,因为涉及到钱的计算嘛,还是要锱铢必究的。
布尔类型主要用表示“真“或“假”,用bool表示,其取值只有两个:True:代表逻辑真;False:代表逻辑假。
在C#中,引用类型主要包括以下类型:
数组:用于表示一组相同类型数据的集合,其中每个数据可以通过索引号进行表示。
类:用于表示一组相关的数据和对该数组数据的操作,是C#面向对象中最为重要的程序设计概念
接口:用于描述一组相关的功能,一般和类结合,用于面向对象的程序设计
委托:类似于C语言中的函数指针
指针类型是C#提供的一种较为靠近计算机硬件底层的类型,用于内存空间的寻址运算。
.NET框架对于Windows原始的API进行了面向对象的封装,凡是通过该框架进行系统访问的代码称之为“安全代码”,而直接调用Windows底层的代码称之为“不安全代码”(unsafe),C#中的指针提供了一种构造“不安全”代码的功能。C#中的指针主要用于调用Windows系统中的动态连接库(DLL)以及和其他语言(比如C语言)的混合编程。
看完这篇文章,相信对于C#中的数据类型有了一定的认识,不过咱们为什么要引入数据类型呢?我在网上看到了一句话,觉得挺有道理的,分享给大家:原因是人类的需要,对人来讲,操作一个任意形式的变量,是很不好掌握,很容易出错的,所以引入数据类型的概念,限制人的操作,从而降低操作难度、降低出错率。希望这篇文章会对你有帮助。