欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > C# 常用数据类型

C# 常用数据类型

2025/3/11 22:48:51 来源:https://blog.csdn.net/pu_yu_hun_jin/article/details/146107551  浏览:    关键词:C# 常用数据类型

C# 数据类型分为 ‌值类型‌、‌引用类型‌ 和 ‌特殊类型‌,以下是详细分类及对应范围/说明:

一、值类型(Value Types)‌

值类型直接存储数据,分配在栈内存中,默认不可为 null。

  1. 简单类型‌
  • 整数类型‌(有符号与无符号)‌
类型范围(含符号)位数
sbyte-128 到 1278位
byte0 到 2558位
short-32,768 到 32,76716位
ushort0 到 65,53516位
int-2,147,483,648 到 2,147,483,64732位
uint0 到 4,294,967,29532位
long-9.2×10^18 到 9.2×10^1864位
ulong0 到 1.8×10^1964位
  • 浮点与高精度类型
类型范围(含符号)位数
float32位单精度(约6-9位小数)32位
double64位双精度(约15-17位小数)64位
decimal128位十进制(无舍入误差,金融计算)128位
  • 其他类型‌
类型说明
bool逻辑值 true/false(非0不自动转true)‌
char16位 Unicode 字符(如 ‘A’、‘中’)‌
  1. 枚举类型(Enum)‌
  • 用户自定义的命名整数常量集合:
enum Week { Monday, Tuesday }  

‌结构体类型(Struct)‌ ‌

  • 封装多个相关变量的轻量类型:
struct Point { public int X; public int Y; }  

二、引用类型(Reference Types)‌

引用类型存储数据地址,分配在堆内存中,可赋值为 null。

  1. 类(Class)‌
  • 基础引用类型(如 object、自定义类)‌
  1. 数组(Array)‌
  • 同类型元素的集合(如 int[] arr = {1, 2, 3};)‌
  1. 字符串(String)‌
  • 不可变的字符序列(如 string s = “Hello”;)‌
  1. 接口(Interface)‌
  • 定义方法契约(如 IDisposable)‌
  1. ‌委托(Delegate)‌
  • 封装方法引用(类似函数指针)‌
  1. ‌动态类型(Dynamic)‌
  • 运行时解析类型(如 dynamic obj = 10;)‌

三、特殊类型 ‌

  1. 可空类型(Nullable)‌
  • 允许值类型赋值为 null(如 int? num = null;)。
  1. 指针类型(Pointer)‌
  • 用于非安全代码操作内存地址(需 unsafe 块)。

关键注意事项

  1. 浮点精度问题‌
  • float/double 可能存在舍入误差,decimal 适用于精确计算‌。
  1. ‌可空类型安全访问‌
  • 需通过 Nullable.HasValue 和 Nullable.Value 操作‌。
  1. ‌字符串不可变性‌
  • 频繁修改字符串建议使用 StringBuilder‌。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词