预定义值类型(13种)
- 整数类型
- byte: 8位无符号整数(0 to 255)
byte a = 255;
- sbyte: 8位有符号整数(-128 to 127)
sbyte b = -128;
- short: 16位有符号整数(-32768 to 32767)
short c = 32767;
- ushort: 16位无符号整数(0 to 65535)
ushort d = 65535;
- int: 32位有符号整数(-2147483648 to 2147483647)
int e = 2147483647;
- uint: 32位无符号整数(0 to 4294967295)
uint f = 4294967295;
- long: 64位有符号整数(-9223372036854775808 to 9223372036854775807)
long g = 9223372036854775807;
- ulong: 64位无符号整数(0 to 18446744073709551615)
ulong h = 18446744073709551615;
- 浮点类型
- float: 32位单精度浮点数
float i = 3.14F;
- double: 64位双精度浮点数
double j = 3.14159265359;
- 十进制类型
- decimal: 128位高精度的十进制数,通常用于财务和货币计算
decimal k = 3.14159265358979323846M;
- 布尔类型
- bool: 只能为 true 或 false
bool l = true;
- 字符类型
- char: 用于存储单个Unicode字符
char m = 'A';
预定义的引用类型(3种)
- 对象类型
- object: 所有类型的基类,可以存储任何类型的值
object n = "Hello World";
- 字符串类型
- string: 用于存储文本,实际上是 System.String 类的别名
string o = "Hello, C#!";
- dynamic类型
- dynamic: 用于存储动态类型的数据,跳过编译时类型检查
dynamic dyn = 10;
dyn = "string";
dyn = new { Name = "Alice" };
每一种类型都有其用途和局限性。例如,整数类型用于存储整数,但每种整数类型都有其范围。浮点类型和十进制类型用于存储小数,但它们有不同的精度和范围。布尔类型用于存储逻辑值,字符类型用于存储单个字符,而字符串类型用于存储文本。