C# 数据类型权威指南:值类型、引用类型、指针类型与 sizeof 实战
C# 变量分三大类:
- 值类型:直接存储数据,派生自 System.ValueType
- 引用类型:存储引用(内存地址),多变量可指向同一位置
- 指针类型:存储内存地址,仅在 unsafe 上下文使用
值类型详表
| 类型 | 表示范围 | 默认值 |
|---|---|---|
| bool | True/False | False |
| byte | 0~255 | 0 |
| char | U+0000~U+FFFF | '\0' |
| decimal | 128位精确十进制,28-29位有效数字 | 0.0M |
| double | ±5.0e-324 ~ ±1.7e308 | 0.0D |
| float | ±3.4e38 | 0.0F |
| int | -2,147,483,648 ~ 2,147,483,647 | 0 |
| long | -9.22e18 ~ 9.22e18 | 0L |
| sbyte | -128~127 | 0 |
| short | -32,768~32,767 | 0 |
| uint | 0~4,294,967,295 | 0 |
| ulong | 0~1.84e19 | 0 |
| ushort | 0~65,535 | 0 |
用 sizeof(type) 获取类型占用字节数(如 sizeof(int)=4)。
引用类型
不含实际数据,存引用。修改数据会影响所有引用该位置的变量。内置引用类型:
- object:所有类型终极基类(System.Object 别名)。装箱/拆箱转换值类型
- dynamic:运行时类型检查,类似 object 但推迟绑定
- string:System.String 别名,支持 @逐字符串字面量
object obj = 100; // 装箱 dynamic d = 20; // 运行时检查 String str = "Tutorials Point"; string verbatim = @"Tutorials Point";
用户自定义引用类型:class、interface、delegate(后续章节详述)。
指针类型
语法:type* identifier;。功能同 C/C++ 指针,仅限 unsafe 代码块使用。
char* cptr; int* iptr;
详见“Unsafe Codes”章节。
C语言
- 紧固件四大槽型驱动类型详解
- 热电偶详解:类型、量程与性能对比
- 精通C#变量与基础数据类型:完整指南
- 掌握 C# 类型转换:隐式、显式、Parse 与 Convert 全方位指南
- 深入理解 C++ 数据类型:基础类型、修饰符与最佳实践
- C 语言数据类型详解:int、float、char 等核心类型完全指南
- C++ char 类型完全指南:声明、ASCII 码、输入输出与字符串转换
- 精通Python数据类型:实战指南
- 精通Python类型转换与强制转换:综合指南
- Java 基本数据类型:8 大类型完整指南与示例
- 掌握 Java 类型转换:从自动拓宽到强制收窄及更多
- Java 基本数据类型:清晰指南