在好例子网,分享、交流、成长!
<<

C# 入门教程(C#语法- 2.数据类型)

数据类型是编程语言中用于存储不同种类数据的分类。

下面是每种数据类型的简介以及示例代码:

整数类型(int、long、short、byte):

  • 应用场景:这些整数类型用于表示整数值。
类型 取值范围 常见应用场景
int -2,147,483,648 到 2,147,483,647 int 是最常用的整数类型,适合大多数常规整数计算,比如计数、索引、循环等。它通常用于表示年龄、数量、计数器等。
long -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 当需要处理更大范围的整数时,例如处理时间戳、表示文件大小或内存使用量等大量数据时,使用 long 类型可以确保数值不会溢出。
short -32,768 到 32,767 short 类型通常用于需要节省内存空间的情况,或者在特定硬件或网络协议中要求使用 16 位整数进行通信或存储。
byte 0 到 255 byte 类型通常用于表示字节数据,比如图像数据、文件字节等。它也可用于表示位标志和布尔值。

选择合适的整数类型取决于所处理数据的范围和内存要求。若不确定具体使用哪个类型,一般来说,可以首先选择 int 类型作为默认整数类型,并在需要更大范围时转而使用 long 类型。对于需要节省内存或者明确知道数值范围的情况下,可以考虑使用 shortbyte 类型。

示例代码:

浮点数类型(float、double、decimal):

  • 应用场景:这些类型用于表示带有小数部分的数字。 float 和 double 适用于大多数浮点数计算,其中 double 提供更高的精度。 decimal 用于金融和货币计算等需要更高精度的场景。
数据类型 存储范围 精度 应用场景
float ±1.5 × 10-45 到 ±3.4 × 1038 约7位有效数字 科学计算、图形处理、大规模数据集合、性能要求较高的计算
double ±5.0 × 10-324 到 ±1.7 × 10308 约15位有效数字 一般性计算、金融计算、工程计算、科学计算
decimal ±1.0 x 10-28 到 ±7.9 x 1028 28-29位有效数字 货币计算、金融计算、税务计算、精确计数

示例代码:

字符类型(char):

  • 应用场景:char 类型用于表示单个字符。它经常用于处理文本、字符串操作和字符级别的操作。

示例代码:

字符串类型(string):

  • 应用场景:string 类型用于表示一系列字符,通常用于处理和操作文本数据。

示例代码:

布尔类型(bool):

  • 应用场景:bool 类型用于表示逻辑上的真或假值。它通常用于条件判断和控制流程。

示例代码:

数组类型(array):

  • 应用场景:数组是一种用于存储多个相同类型元素的数据结构。它广泛应用于存储和处理集合数据。

示例代码:

枚举类型(enum):

  • 应用场景:枚举是一种用户定义的类型,用于定义一组命名的常量值。它们可以在代码中提供更好的可读性和可维护性。

示例代码:

时间日期类型(DateTime):

  • 应用场景:DateTime 类型用于表示日期和时间。它广泛用于处理日期和时间相关的操作,例如计算时间间隔、格式化日期等。

示例代码:

集合类型(List、Dictionary、HashSet):

  • 应用场景:集合类型用于存储和操作多个元素的数据结构。
集合类型 特点 用途
List 有序、可重复的集合 存储任意类型的元素,按索引访问元素,动态添加、删除或修改元素。
Dictionary<TKey, TValue> 键值对的集合 存储具有唯一键的元素,通过键快速查找和访问元素。
HashSet 无序、唯一元素的集合 高效地检查元素是否存在,执行集合间的交集、并集、差集等操作。

简要介绍及区别总结:

  1. List<T>List<T> 是一个有序的、可重复的集合,用于存储任意类型的元素。可以通过索引访问列表中的元素,并且可以动态地添加、删除或修改列表中的元素。例如:
  1. Dictionary<TKey, TValue>Dictionary<TKey, TValue> 是一个键值对的集合,用于存储具有唯一键的元素。每个元素都由一个键和一个与之关联的值组成。可以通过键来访问、添加、修改或删除字典中的元素。例如:
  1. HashSet<T>HashSet<T> 是一个无序的、唯一元素的集合。它不允许重复的元素,并且可以高效地检查元素是否存在。可以向集合中添加、删除元素,以及执行集合间的交集、并集、差集等操作。例如:

Array和List都可应用于存储和处理集合数据,它俩的区别如下:

区别 Array(数组) List(列表)
大小 固定大小 可变大小
内存分配方式 分配连续内存块 动态数组分配和释放内存
元素访问和操作 索引直接访问和修改元素 提供丰富的方法进行操作
类型限制 可包含任意类型的元素 通常用于存储引用类型元素
API支持 提供基本方法和属性 提供更多丰富的方法和功能

这个表格可以帮助你更清楚地理解Array和List之间的差异。

对象类型(class、struct):

  • 应用场景:对象类型用于创建自定义的数据类型和数据结构。class 和 struct 分别用于定义引用类型和值类型的对象。它们适用于创建具有属性和方法的自定义数据类型。

class和struct区别 示例代码:

在上述示例中,我们定义了一个表示人员的class(Person)和一个表示二维坐标点的struct(Point)。我们创建了一个Person对象(person)和一个Point对象(point),并分别展示了它们的特点。

通过这个完整可运行的示例代码,可以清晰地看到class和struct的区别:

  1. class是引用类型,Person对象存储在堆上,而struct是值类型,Point对象存储在栈上。
  2. 传递class对象时,实际上传递的是对堆上对象的引用;传递struct对象时,会将整个值复制到新的变量中。
  3. class有自动生成的无参构造函数,而struct没有默认无参构造函数。
  4. class的对象可以为null,而struct的对象不可为null。
  5. class支持单继承和多层继承,而struct只能通过接口实现来达到类似的效果。

小结

这么多数据类型以及用法,不需要大家死记硬背,知道有它的存在就好,就像读书一样,很多时候我们不是读了立刻用起来,而是在将来的某一天,它会神助。

大家有任何问题都可以加关注后在评论区留言,或者加客服一对一咨询。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

报警